在合并中会导致"检测到非唯一匹配"错误的原因是什么?

crr*_*crr 6 merge r

我正在尝试合并空间多边形数据框和数据框,但我不断收到"检测到非唯一匹配"错误.我在用于by.x和by.y的列上运行了duplicated(),并且没有检测到重复项.还有什么可能导致此错误?

> head(AnteNatal.df)
              Country Year(s) AnteNatalValue
1         Afghanistan    2011           14.6
2             Albania    2009           66.8
3              Angola    2009           47.1
4 Antigua and Barbuda    2011          100.0
5           Argentina    2006           24.7
6             Armenia    2010           92.8

> Africa.sh$NAME[1:5]
[1] Angola       Burundi      Benin        Burkina Faso Botswana    
243 Levels: Afghanistan Aland Albania Algeria American Samoa Andorra Angola        Anguilla Antarctica ... Zimbabwe
Run Code Online (Sandbox Code Playgroud)

电话

duplicated(Africa.sh$NAME)
duplicated(AnteNatal.df$Country)
Run Code Online (Sandbox Code Playgroud)

两个返回列表都包含所有FALSE.但是,当我尝试合并时,我得到了

> merge(Africa.sh,AnteNatal.df, by.x = "NAME", by.y ="Country")
Error in .local(x, y, ...) : non-unique matches detected
Run Code Online (Sandbox Code Playgroud)

avi*_*ada 22

使用sp :: merge函数并将duplicateGeoms参数设置为TRUE(如果x和y中的记录之间存在多个匹配项,则x中的TRUE几何重复)

    require(sp)
    ?sp::merge
    merge(spatial_data, data_frame, by = 'match_column', duplicateGeoms = TRUE)
Run Code Online (Sandbox Code Playgroud)

(我知道这个问题比较老了,但我在寻找答案时遇到了它)