我想加性地合并 2 个数据帧,以便

      taxonomy A B C
1          rat 0 1 2
2          dog 1 2 3
3          cat 2 3 0


      taxonomy A D C
1          rat 0 1 9
2        Horse 0 2 6
3          cat 2 0 2

生产
      taxonomy A B C  D
1          rat 0 1 11 1
2        Horse 0 0 6  2
3          cat 4 3 2  0
4          dog 1 2 3  0

我已经尝试过聚合、合并、应用、ddply ......但没有成功......这将在具有几百行和列的 2 个数据帧上完成

最佳答案

data.table 相当于@avid_useR 的答案。

library(data.table)
rbindlist(list(df1, df2), fill = TRUE)[, lapply(.SD, sum, na.rm = TRUE), by = taxonomy]
#   taxonomy A B  C D
#1:      rat 0 1 11 1
#2:      dog 1 2  3 0
#3:      cat 4 3  2 0
#4:    Horse 0 0  6 2

关于r - 按行和列重叠合并 2 个数据框,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52449113/

10-12 16:49