看板 R_Language 關於我們 聯絡資訊
我自己來回我自己的問題 我採用的解法是andrew大的解法 C版的解法看起來應該是最快的 但是小弟無法理解在幹嘛 所以選擇了一個看起來比我的快很多又能理解的方法 kk <- Sys.time() klist <- lapply(1 : NROW(target), function(k){ target[k,] %>% as.numeric %>% .[!is.na(.)] }) test <- lapply(klist, function(k) { m <- logical(20) m[k] <- TRUE return(m) }) %>% do.call(rbind, .) Sys.time() - kk Time difference of 53.88025 secs 我稍微修正過andrew大在提取每個row裡的值成為list的這一段碼 這樣可以將速度從180幾秒提到50秒左右 以我目前這個50萬row的資料等級來說這個速度我個人可以接受了 等到C大提點他的程式碼的邏輯以後可能會再修改我的寫法 目前先到這樣 感謝各位先進的提供的作法 受益良多 -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 1.175.237.42 ※ 文章網址: https://www.ptt.cc/bbs/R_Language/M.1482822911.A.673.html
andrew43: 我原想寫robust一點,可能很多「廢話」,請視情況刪減。 12/28 05:05