【发布时间】:2014-02-28 23:00:36
【问题描述】:
假设我有两个数据框,
数据帧 A
id x y
a 1 2
b 2 3
b 2 4
c 4 3
a 3 7
c 3 4
a 1 0
数据帧 B
id x q
a 1 3.5
a 3 5.7
b 2 4
c 3 2.5
c 4 5.5
数据框 B 有一对唯一的 id 和 x 列。
我想根据列 id 和 x 将 B 与 A 组合,这样如果 A 中有多个相同 id,x 的条目,它们会得到与该 id,x 对应的相同 q 条目。
想要的结果:
id x y q
a 1 2 3.5
b 2 3 4
b 2 4 4
c 4 3 5.5
a 3 7 5.7
c 3 4 2.5
a 1 0 3.5
我尝试过使用合并,但它不重复 q 值,只是将 NA 放在那里。谢谢。
【问题讨论】:
-
merge(A, B)做到了。我没有看到NAs。 -
也许你真正的
A和B有比你给我们的这个例子更多的列名? -
您的
x列是数字还是整数?整数会更好。检查两个数字是否相等总是会出现舍入点错误,这可能就是为什么你没有得到预期的匹配。 -
谢谢。愚蠢的错误。我最初为 A 和 B 分配了相同的级别,但在代码中重命名了 A 的 id 级别。我会删除这个问题。不过感谢您的帮助。
标签: r