Re: [問題] 型態轉換 文字轉數字 最大位數

看板R_Language作者 (Edster)時間9年前 (2016/08/23 00:25), 9年前編輯推噓1(101)
留言2則, 2人參與, 最新討論串2/2 (看更多)
※ 引述《f496328mm (為什麼會流淚)》之銘言: : y= c("195875715247033841" ) : as.numeric( y ) : # 195875715247033856 : 因為一些原因 : 會用到位數非常大的data : 像上面y這樣 我想要把他轉成數字 做排序之類 : 就會轉失敗 沒有辦法完全文字轉數字 : 雖然R一樣會轉成一組數字 但不是我要的 : 因為我還會再把他轉回文字 : 這樣一來一往 資料就會改變 : 想問問看有沒有什麼解決方法 : options(digits=22) : 我也有開到最大位數 : 可是依然不行 : 謝謝 library(magrittr) library(bit64) # library(forRest) y1= c("195875715247033841") y2= c("195875715247033842") y3= c("195875715247033839") y=c(y1,y2,y3) substring(y, c(4,6,8,10,12), c(6,8,10,12,30)) t1 = Sys.time() sortedData =lapply(y, function(x)substring(x, c(4,6,8,10,12), c(6,8,10,12,30))) %>% do.call(rbind,.) %>% sortbyrowR(., decreasing=FALSE) apply(sortedData,1,function(x) paste(x,collapse = "")) t2=Sys.time() t2-t1 Time difference of 0.012008905410766602 secs t1=Sys.time() as.integer64(y) %>% sort t2=Sys.time() t2-t1 Time difference of 0.006504058837890625 secs sortbyrowR 是參照C版大的文章, http://pastebin.com/zE0bQT3U -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 58.114.4.176 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1471883155.A.C0A.html ※ 編輯: Edster (58.114.4.176), 08/23/2016 00:27:44

08/23 00:30, , 1F
謝謝 用as.integer64 就能完美轉換成功
08/23 00:30, 1F
※ 編輯: Edster (58.114.4.176), 08/23/2016 00:36:24

08/23 00:39, , 2F
沒關係,總有機會用到。
08/23 00:39, 2F
文章代碼(AID): #1NkoUJmA (R_Language)
文章代碼(AID): #1NkoUJmA (R_Language)