我自己来回我自己的问题 我采用的解法是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大提点他的程式码的逻辑以后可能会再修改我的写法
目前先到这样 感谢各位先进的提供的作法 受益良多