R by Rownames中的数据帧联合

Cod*_*lus 5 union r dataframe

我有4个数据帧,每个数据帧都是列表中的索引.我想将它们完全合并为一个数据帧.在数学的集合语言中,最有意义的是成为rownames上的联合.所以我可能有这样的事情:

U <- union(dfSub[[1]], dfSub[[2]], dfSub[[3]], dfSub[[4]])
Run Code Online (Sandbox Code Playgroud)

union函数的问题在于它仅对向量进行操作.如何让这个在数据帧上工作?

  1. 我怎么能把它翻译成R?
  2. 有没有更好的方法来达到预期的效果?

编辑:如何在联盟之后保留rownames?

flo*_*del 15

首先,将它们绑在一起:

df.cat <- rbind(dfSub[[1]], dfSub[[2]], dfSub[[3]], dfSub[[4]])
Run Code Online (Sandbox Code Playgroud)

或更好:

df.cat <- do.call(rbind, dfSub[1:4])
Run Code Online (Sandbox Code Playgroud)

第一步要求所有data.frame具有相同的列名.如果不是这样,那么您可能rbind.fillplyr包中的函数感兴趣:

library(plyr)
df.cat <- rbind.fill(dfSub[1:4])
Run Code Online (Sandbox Code Playgroud)

然后,如果需要,删除重复项(作为集合联合):

df.union <- unique(df.cat)
Run Code Online (Sandbox Code Playgroud)

  • 贬低谁的建设性批评? (2认同)