我有4个数据框,每个数据框在一个列表中。我想将它们完全合并为一个数据帧。在数学中的固定语言中,最有意义的是将行名与行名结合起来。所以我可能会有这样的事情:

U <- union(dfSub[[1]], dfSub[[2]], dfSub[[3]], dfSub[[4]])
union函数的问题在于它仅对向量起作用。我如何才能在数据帧上使用它?
  • 如何将其转换为R?
  • 是否有更好的方法来达到预期的结果?

  • 编辑:我如何在联合后保留行名?

    最佳答案

    首先,将它们绑定(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/

    10-12 18:53