【发布时间】:2016-01-26 21:12:01
【问题描述】:
我有三组数据,其中包含两个变量“ID”和“Name”。有没有办法从另一个数据集中填补每个数据集中的缺失,或者创建一个 ID 和名称组合的主数据集?
setA=data.frame(rbind(
c("1","Product A"),
c("2",NA),
c("3",NA),
c("4",NA),
c("5","Product E")))
names(setA)=c("ID","Name")
setB=data.frame(rbind(
c("1","Product A"),
c("2",NA),
c("3","Product C"),
c("4",NA),
c("6","Product F")))
names(setB)=c("ID","Name")
setC=data.frame(rbind(
c("1",NA),
c("2","Product B"),
c("3","Product C"),
c("4","Product D"),
c("6","Product F")))
names(setC)=c("ID","Name")
我试过了,但它两次列出了 ID“3”。我希望 NA 填写“产品 C”。
merge(setA,setB,by=c("ID","Name"),all=T)
我可以仅合并 ID 并将 NA 替换为非 NA,但想知道是否有更直接的方法可以做到这一点?
谢谢!
【问题讨论】: