【发布时间】:2018-11-10 18:55:34
【问题描述】:
如果这不是重复的,我很惊讶,但我在其他任何地方都找不到答案。
我有两个数据框,data1 和 data2,它们在一列中不同,但其余列相同。我想将它们合并到一个唯一的标识列id。但是,如果来自data2 的ID 在data1 中没有匹配项,我希望将data2 中的条目附加到底部,类似于plyr::rbind.fill(),而不是重命名data2 中的所有相应列如column1.x 和column1.y。我意识到这不是最清楚的解释,也许我不应该在星期六工作。这是创建两个数据帧的代码,以及所需的输出:
spp1 <- c('A','B','C')
spp2 <- c('B','C','D')
trait.1 <- rep(1.1,length(spp1))
trait.2 <- rep(2.0,length(spp2))
id_1 <- c(1,2,3)
id_2 <- c(2,9,7)
data1 <- data.frame(spp1,trait.1,id_1)
data2 <- data.frame(spp2,trait.2,id_2)
colnames(data1) <- c('spp','trait.1','id')
colnames(data2) <- c('spp','trait.2','id')
期望的输出:
spp trait.1 trait.2 id
1 A 1.1 NA 1
2 B 1.1 2 2
3 C 1.1 NA 3
4 C NA 2 9
5 D NA 2 7
【问题讨论】: