【发布时间】:2014-10-04 03:51:21
【问题描述】:
我想合并两个数据框,但是有一些行名重复。 如果两个数据框中的行名数不同,我希望它可以在少一列中显示“NA”。
我的例子:
test1 <- data.frame(name = c("A", "B", "C", "C", "C", "D"), n1 = c("15", "14", "13", "12", "11", "10"))
test2 <- data.frame(name = c("A", "B", "B", "C", "C", "D"), n1 = c("30", "31", "33", "39", "38", "40"))
然后我按名称合并,我得到了
名称 n1.x n1.y
A 15 30 B 14 31 B 14 33 C 13 39 C 13 38 C 12 39 C 12 38 C 11 39 C 11 38 D 10 40
它会重复 我想要的是
名称 n1.x n1.y
A 15 30 B 14 31 B NA 33 C 13 39 C 12 38 C 11 NA D 10 40
我应该使用什么命令? 非常感谢!
【问题讨论】:
-
非常未执行的行为,你能解释一下为什么你想要的输出只包含两个“B”行和三个“C”行吗?处理/思考步骤是什么?我猜你想要的东西太不寻常了,你必须对常规
merge(test1,test2,by="name")的输出进行后处理... -
@jaybee,这种情况发生在我的实验中,在相同情况下有超过 1 次观察。当然这是不寻常的,但我必须保留它们。