df1 <- data.frame(id=c(1,2,3,4,5,8), var=c("a","b","c","d","e","t"), stringsAsFactors = F)
df2 <- data.frame(id=c(1,2,3,4,5,6,7), var=c("e","f","c","d","e","g","h"), stringsAsFactors = F)
df <- data.frame(id=c(1,2,3,4,5,6,7,8))
Мне нужно объединиться, чтобы получить значение var для df, но я бы хотел, чтобы значение var для df2, а не df1, и если в df2 нет эквивалента, я бы хотел взять его из df1. У меня есть это, но есть ли более простой способ сделать это? и как я могу добавить столбец, чтобы увидеть, откуда Var?
df %>% left_join(df1, by="id") %>% left_join(df2, by="id") %>%
dplyr::mutate(var=ifelse(!is.na(var.x), var.x, var.y))