Now that I have a little time I can give you a reproducible example (reprex)
library(dplyr)
# Sample data in a copy/paste friendly format, replace these with your own data frames
df1 <- data.frame(
stringsAsFactors = FALSE,
x = c("A1", "A2", "A3"),
y = c("blue", NA, "yellow")
)
df2 <- data.frame(
stringsAsFactors = FALSE,
x = c("A1", "A2", "A3"),
y = c(NA, "red", NA)
)
# Relevant code
df1 %>%
rows_update(df2 %>% filter(!is.na(y)), by = "x")
#> x y
#> 1 A1 blue
#> 2 A2 red
#> 3 A3 yellow
Note: Next time please provide a proper REPRoducible EXample (reprex) illustrating your issue.