我有4个数据框,每个数据框在一个列表中。我想将它们完全合并为一个数据帧。在数学中的固定语言中,最有意义的是将行名与行名结合起来。所以我可能会有这样的事情:
U <- union(dfSub[[1]], dfSub[[2]], dfSub[[3]], dfSub[[4]])
union
函数的问题在于它仅对向量起作用。我如何才能在数据帧上使用它?编辑:我如何在联合后保留行名?
最佳答案
首先,将它们绑定(bind)在一起:
df.cat <- rbind(dfSub[[1]], dfSub[[2]], dfSub[[3]], dfSub[[4]])
或更好:
df.cat <- do.call(rbind, dfSub[1:4])
第一步要求所有data.frames具有相同的列名。如果不是这种情况,那么您可能会对
rbind.fill
包中的plyr
函数感兴趣:library(plyr)
df.cat <- rbind.fill(dfSub[1:4])
然后,根据需要删除重复项(如设置的并集):
df.union <- unique(df.cat)
关于r - R中按行名的数据帧的并集,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/16408225/