我有一个列表,其中列表中的每个元素都是数据框。
intersect
我的列表长度为10,其中有10个数据帧。每个数据框有30个项目。我希望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)
每个数据框的前25个与另一个数据框最终得到所有数据框中最常见的项目。
这是我到目前为止所做的:
dplyr
是否可以使用strNameList[pos][0]
或任何其他工具执行此操作。
答案 0 :(得分:5)
在基地R中尝试Reduce
:
ls <- vector("list", 10)
for (i in 1:10) ls[[i]] <- head(df.list[[i]]$VarName, 25)
Reduce(intersect, ls)
或单行代码:
Reduce(intersect, lapply(df.list, function(x) head(x$VarName, 25)))