我想创建一个合并其他df中2列元素的df。
以下是df1:
id visit v1
1 4 25
1 5 23
2 1 8
以下是df2:
id visit v2
1 3 11
1 4 5
2 1 9
我想要:
id visit v1 v2
1 3 NA 11
1 4 25 5
1 5 23 NA
2 1 8 9
我尝试过
df3 <- bind_rows(df1, df2) %>%
group_by(id, visit) %>%
distinct() %>%
arrange(id, visit)
但是它没有对id和visit进行精确合并。请参阅下面的片段片段,其中参与者1和访问者4没有合并。
id visit v1 v2
1 3 NA 11
1 4 25 NA
1 4 NA 5
有人可以帮忙吗?
答案 0 :(得分:0)
我们可以使用full_join
library(dplyr)
full_join(df1, df2)
答案 1 :(得分:0)
使用基本语法:
df1 <- data.frame(cbind(c(1,1,2,3,3), c(4,5,1,1,2)))
names(df1) <- c("id", "visit")
df2 <- data.frame(cbind(c(1,1,2,3,3), c(3,4,1,3,4)))
names(df2) <- c("id", "visit")
merge(x = df1, y = df2, by = c("id", "visit"), all = TRUE)
关于加入here的好帖子