【发布时间】:2020-10-16 11:46:35
【问题描述】:
假设我有两个如下数据框:
df1 <- data.frame(
X = c(1,2,2),
Y = c("a","b","c"),
Z = c(10,20,30)
)
df2 <- data.frame(
X = c(1,2,2,4),
Y = c(NA,"b","c","d"),
W = c(-1,-2,-3,-4)
)
我想同时使用 X 和 Y 在 df2 上加入 df1。但对于第一次观察,我只使用 X。最后我想得到:
df3 <- data.frame(
X = c(1,2,2,4),
Y = c(NA,"b","c","d"),
W = c(-1,-2,-3,-4),
Z = c(10,20,30,NA)
)
使用 left_join 或 full_join 无法做到这一点。
【问题讨论】:
-
那是你的真实代码吗?
df3中缺少逗号。 -
当你说“第一个”观察时,它是基于两个数据集上的
by变量 -
不是我的真实代码。在
df3中包含逗号 -
如果
df2$Y的second 元素是NA,您的预期输出是什么? (Z 会是什么?) -
如果其中一个答案解决了您的问题,请accept it;这样做不仅为回答者提供了一些积分,而且还为有类似问题的读者提供了一些关闭。尽管您只能接受一个答案,但您可以选择对您认为有帮助的人进行投票。 (如果仍有问题,您可能需要编辑您的问题并提供更多详细信息。)
标签: r dataframe merge left-join