我想加入两个数据框。某些列名称重叠,并且其中一个数据框的重叠列中有NA
条目。下面是一个简单的例子:使用dplyr连接两个数据帧时,我可以替换NAs吗?
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)
我能否使用dplyr加入功能加入这些数据帧,并自动优先考虑非NA
项,使我得到了“VAR2”列有在加入数据没有NA
项帧?现在,如果我拨打left_join
,它会保留NA
条目,并且如果我拨打full_join
它会复制行。
感谢您的回答!对于dplyr解决方案,如果存在多个重叠列,mutate步骤是否可以使用x和y合并所有具有相同名称的列? – qdread
没有对列进行硬编码的更一般的方法可能会在合并后重塑您的数据。这里是一个例子'df1%>%left_join(df2,by =“fruit”)%>%reshape(vary = 3:4,dir =“long”)%>%group_by(fruit,var1,var3)%>%我可以提供的summarise_each(funs(na.omit(。)),-id,-time)。 – Psidom