我有这两个数据框。
DF1:
DF2:
我希望我的输出DF与DF2中的X1值一起成为DF1。也就是说,这就是我希望输出看起来像的样子:
我尝试使用合并和联接,但是无法获得此必需的输出。主要问题似乎是由于DF1中的ID在DF2中具有多个匹配项。我得到的结果数据帧具有所有行,有点像这样:
我该如何解决?
谢谢。
(对表格图片表示歉意,我无法弄清楚如何动态创建表格)
答案 0 :(得分:3)
您可以使用match
返回DF2
中的第一个匹配项。
DF1$X1 <- DF2$X1[match(DF1$ID, DF2$ID)]
答案 1 :(得分:1)
在第二个数据帧中用ID
保留唯一值,然后加入:
library(tidyverse)
DF2 <- DF2 %>%
distinct(ID, .keep_all = TRUE) %>%
select(ID, X1)
res <- DF1 %>%
inner_join(DF2, by = "ID")
glimpse(res)