¿Puedo reemplazar NAs cuando unir dos marcos de datos con dplyr?

Me gustaría unir dos marcos de datos. Algunos de los nombres de columna se superponen, y hayNA entradas en una de las columnas superpuestas del marco de datos. Aquí hay un ejemplo simplificado:

df1 <- data.frame(fruit = c('apples','oranges','bananas','grapes'), var1 = c(1,2,3,4), var2 = c(3,NA,6,NA), stringsAsFactors = FALSE)
df2 <- data.frame(fruit = c('oranges','grapes'), var2=c(5,6), var3=c(7,8), stringsAsFactors = FALSE)

¿Puedo usar las funciones de unión de dplyr para unir estos marcos de datos y priorizar automáticamente lasNA entrada para que obtenga la columna "var2" para no tenerNA entradas en el marco de datos unidos? Como es ahora, si llamoleft_join, mantiene elNA entradas, y si llamofull_join Duplica las filas.

Respuestas a la pregunta(2)

Su respuesta a la pregunta