我有一个列表,其中每个元素都是数据框。
有没有使用dplyr或其他工具完成这个任务的方法?
> df.list[[1]]
Change Diff VarName
1 10.433354 5.311973e-02 a
2 4.587958 1.517604e-02 b
3 4.566829 1.082679e-02 c
4 4.464458 1.345807e-02 d
5 4.146909 7.758011e-03 e
6 4.141556 1.416043e-02 f
> df.list[[2]]
Change Diff VarName
1 12.443354 5.311973e-02 j
2 3.587958 1.517604e-02 k
3 4.566829 1.082679e-02 a
4 4.464458 1.345807e-02 b
5 3.146909 7.758011e-03 d
6 2.141556 1.416043e-02 e
我的列表长度为10,其中有10个数据帧。每个数据帧都有30个项目。 我想要将每个数据帧的前25个交集到另一个数据帧中,并最终获得所有数据框中最常见的项目。
目前我已经完成了以下工作:
df1 <- df.list[[1]]$VarName
df2 <- df.list[[2]]$VarName
df3 <- df.list[[3]]$VarName
df4 <- df.list[[4]]$VarName
intersect(intersect(intersect(df1,df2), df3), df4)
有没有使用dplyr或其他工具完成这个任务的方法?
Reduce(function(x, y) intersect(x, head(y$varname, 25)), dfList, init=letters)
,其中init值包含可能性的宇宙。 - lmo