我想将两个数据框合并,其中
以下是示例:
df2
覆盖任何在df1
中的值为NA
或已存在的值。 Merge data frames and overwrite values 提供了一个data.table
选项,但我想知道是否有一种使用dplyr
的方法来实现这一点。 我尝试了所有的_join
选项,但似乎没有一种可以实现这一点。 是否有一种使用dplyr
的方法来实现这一点?以下是示例:
df1 <- data.frame(y = c("A", "B", "C", "D"), x1 = c(1,2,NA, 4))
df2 <- data.frame(y = c("A", "B", "C"), x1 = c(5, 6, 7))
期望的输出:
y x1
1 A 5
2 B 6
3 C 7
4 D 4
left_join(df1, df2, by="y") %>% transmute(y, x1 = ifelse(is.na(x1.y), x1.x, x1.y))
?也许这可以添加到其他答案中,然后关闭此问题作为重复?(另一个问题不是针对data.table的特定问题) - talat