[英]Fill in NA with Non-NAs in another dataframe
我有三個帶有兩個變量“ ID”和“名稱”的數據集。 有沒有辦法填充來自另一個數據集的每個數據集中的缺失項,或者使用ID和Name的組合創建一個主數據集?
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,但想知道是否還有更直接的方法嗎?
謝謝!
我不知道下面的解決方案是否可以推廣,但是根據您的示例,以下代碼可以解決問題(假定名稱對於每個ID至少存在一次且唯一):
setM <- rbind(setA,setB,setC)
setM <- unique(na.omit(setM))
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.