![](/img/trans.png)
[英]Is it possible to do a full join in dplyr and keep all the columns used in the join?
[英]How can I join 2 tables with dplyr and keep all columns from the RHS table?
這是2個數據框:
df1 <- data.frame(ID=c(1,2,3,4))
df1
df2 <- data.frame(ID=c(1,3))
df2
我如何加入他們以獲得以下輸出?:
# ID.1 ID.2
# 1 1
# 2
# 3 3
# 4
謝謝!
一種選擇是使用match
data.frame(ID.1 = df1$ID, ID.2 = df2$ID[match(df1$ID, df2$ID)])
# ID.1 ID.2
#1 1 1
#2 2 NA
#3 3 3
#4 4 NA
您可以在加入之前復制df2中的ID列:
library(tidyverse)
df1 <- data.frame(ID=c(1,2,3,4))
df2 <- data.frame(ID=c(1,3)) %>%
mutate(ID.2 = ID)
df1 %>%
left_join(df2, by = c("ID" = "ID"))
ID ID.2
1 1 1
2 2 NA
3 3 3
4 4 NA
嘗試dplyr::left_join
與keep = TRUE
:
> left_join(df1, df2, keep = TRUE, suffix = c('.1', '.2'), by = 'ID')
ID.1 ID.2
1 1 1
2 2 NA
3 3 3
4 4 NA
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.