[英]How to merge these two datasets in R
How do I Merge these two data sets so that the N/A's are filled. 如何合并这两个数据集,以便填充N / A。
Example -> 例子->
Name Abbreviation Denomination
-------------------------------
Asia A N/A
Bob B N/A
Chris C N/A
David D N/A
Merged With 与合并
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
How do I merge the two sets so I can get: 我如何合并两个集合,这样我可以得到:
Name Abbreviation Denomination
-------------------------------
Asia A 5
Bob B 1
Chris C 7
David D 9
I think there is a smart way to obtain that, but here is my clumsy solution: 我认为有一种聪明的方法可以做到这一点,但这是我笨拙的解决方案:
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
and then drop the column Denomination.x
with df3 <- df3[, -3]
然后使用
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
Try this: 尝试这个:
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
You can always rename columns etc to whatever name you wish. 您可以随时将列等重命名为所需的名称。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.