[英]How to merge these two datasets in R
如何合並這兩個數據集,以便填充N / A。
例子->
Name Abbreviation Denomination
-------------------------------
Asia A N/A
Bob B N/A
Chris C N/A
David D N/A
與合並
Name Abbreviation Denomination
-------------------------------
Asia A 5
Bradley BA 1
Chris C 7
David D 9
Emma EM 2
Soo So 4
Nate NT 2
Bob B 1
Brat B 5
Asia S 2
我如何合並兩個集合,這樣我可以得到:
Name Abbreviation Denomination
-------------------------------
Asia A 5
Bob B 1
Chris C 7
David D 9
我認為有一種聰明的方法可以做到這一點,但這是我笨拙的解決方案:
df3 <- merge(df1, df2, by = c("Name", "Abbreviation"))
df3
Name Abbreviation Denomination.x Denomination.y
1 Asia A N/A 5
2 Bob B N/A 1
3 Chris C N/A 7
4 David D N/A 9
然后使用df3 <- df3[, -3]
刪除Denomination.x
列
df3
Name Abbreviation Denomination.y
1 Asia A 5
2 Bob B 1
3 Chris C 7
4 David D 9
嘗試這個:
x <- data.frame(Name = c("Asia", "Bradley", "Chris", "David", "Emma", "Soo", "Nate",
"Bob", "Brat", "Asia"),
Abb = c("A", "BA", "C", "D", "EM", "So", "NT", "B", "B", "S"),
Den = c(5, 1, 7, 9, 2, 4, 2, 1, 5, 2))
y <- data.frame(Name = c("Asia", "Bob", "Chris", "David"), Abb = c("A","B", "C", "D"),
Den = c("NA", "NA", "NA", "NA"))
data_df <- merge(x, y , by = 1)
subset(data_df, Abb.x != "S", c(1,2,3))
Name Abb.x Den.x
1 Asia A 5
3 Bob B 1
4 Chris C 7
5 David D 9
您可以隨時將列等重命名為所需的名稱。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.