基于另一个数据帧中的字符串对数据帧进行子集化

时间:2017-03-24 14:28:36

标签: r grep subset

我在R(df1,df2)中有2个数据帧。 df1有30列(col1到col30)以及每列的数量和不同的行数。 df2有60列和10000行。 我想一次搜索df1的每个列中的所有字符串(例如,df1 $ col1)在df2的特定列(例如,df2 $ colx)中,并将匹配字符串的整行子集化为新数据.frame(df3)。所以最后我可以有30个不同的data.frames(对应于df1中的列数)。

我试过这个

test <- lapply(df1[1:30], function(x) 
     subset(df1, unlist(lapply(x, function(y) 
         grepl(y, df2$x, fixed = TRUE)))))

建议在 this post并尝试this post solution,但要么不起作用。对于上面的代码行,R给出了错误:无法分配大小为110.5 Mb的向量。

任何帮助/建议表示赞赏。 感谢

0 个答案:

没有答案