Вот 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
Спасибо!
Вы можете продублировать столбец идентификатора в df2 до объединения:
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
Можно использовать match
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