比较R中具有不同行数的两个数据帧

时间:2018-03-12 22:37:11

标签: r dataframe

我有两个数据框,具有与下面相同的设置

Country Name    Country Code    Region  Year    Fertility Rate
Aruba   ABW The Americas    1960    4.82
Afghanistan AFG Asia    1960    7.45
Angola  AGO Africa  1960    7.379
Albania ALB Europe  1960    6.186
United Arab Emirates    ARE Middle East 1960    6.928
Argentina   ARG The Americas    1960    3.109
Armenia ARM Asia    1960    4.55
Antigua and Barbuda ATG The Americas    1960    4.425
Australia   AUS Oceania 1960    3.453
Austria AUT Europe  1960    2.69
Azerbaijan  AZE Asia    1960    5.571
Burundi BDI Africa  1960    6.953
Belgium BEL Europe  1960    2.54

我想创建一个数据框,在其中列出与“merged2013”​​数据框相比,“合并”数据框中缺少哪些国家/地区。 (不是我的命名惯例)

我尝试了很多在互联网上找到的东西,只有这个在下面工作,但不是我想要的方式

newmerged1 <- (paste(merged$Country.Name) %in% paste(merged2013$Country.Name))+1
newmerged1

对于在merged2013数据框中找不到的国家/地区返回“1”值。我假设有一种方法可以让我列出国家名称而不是一两个,或者只是列出在merged2013数据框中找不到的国家而没有其他所有国家。

1 个答案:

答案 0 :(得分:3)

您可以使用dplyr的anti_join,它专门设计为以这种方式使用。

require(dplyr)

missing_data <-anti_join(merged2013, merged, by="Country.Name")

这将返回merged2013中未合并的所有行。