我正在尝试合并空间多边形数据框和数据框,但我不断收到"检测到非唯一匹配"错误.我在用于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)
(我知道这个问题比较老了,但我在寻找答案时遇到了它)