大家好我的df1看起来像
MNO DOB
123 NA
123 NA
234 NA
234 NA
345 NA
456 NA
456 NA
我的df2有
MNO DOB
123 22-04-1996
234 16-06-1994
345 05-05-1990
456 18-08-2000
我使用df3 <-merge(df1,df2,by.x =“ MNO”,all.x = TRUE)获得合并结果
我得到的输出看起来像
MNO DOB
123 22-04-1996
123 NA
234 16-06-1994
234 NA
345 05-05-1990
456 18-08-2000
456 NA
预期成绩 :
MNO DOB
123 22-04-1996
123 22-04-1996
234 16-06-1994
234 16-06-1994
345 05-05-1990
456 18-08-2000
456 18-08-2000
根据显示的示例,这些列应与同一列“ MNO”合并,因此我们可以使用by
而不是by.x
merge(df1[1], df2, by = "MNO", all.x = TRUE)
# MNO DOB
#1 123 22-04-1996
#2 123 22-04-1996
#3 234 16-06-1994
#4 234 16-06-1994
#5 345 05-05-1990
#6 456 18-08-2000
#7 456 18-08-2000
如果“DF3”的输出是基于一个不同的代码,所述后merge
一步,我们可以fill
从tidyr
填充与以前的非NA NA的元素
library(tidyr)
library(dplyr)
df3 <- df3 %>%
fill(DOB)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句