逐行挑出第一个非缺失元素

时间:2017-01-26 15:27:56

标签: r parallel-processing data.table

假设我想要执行以下操作:

1)应用一些函数,逐行用空格替换不需要的字符; 2)然后它逐行(从原始数据中)逐行取出非空元素(根据上述转换)。

以下是我现在所拥有的:

~ does the trick

我有大约7000万行,我有两个问题: 1)使用data.table是否有更快的解决方案; 2)我可以使用parLapply的想法加快计算速度;

1 个答案:

答案 0 :(得分:1)

避免R中的行操作像瘟疫一样。我可能会这样做:

data[, lapply(.SD, sub, pattern = "^&*$", replacement = ""), .SDcols = x:y][
     , as.matrix(.SD)[.SD != ""]]
#[1] "25&&&35&&1" "1"          "&&&&2"