【发布时间】:2020-11-18 06:44:13
【问题描述】:
(抱歉标题不好,英语不是我的母语,我想不出一个总结问题的好方法。)
我有一个包含各种美国县变量的数据集和一个美国县的 shapefile。我已经将两者合并,没问题,现在我试图说明一个跨特定州县的变量。但是当我试图将我的数据限制在特定州的县时,它不仅选择了该特定州的县,而且还选择了与该州同名的其他州的所有县。我只是不明白为什么要这样做,据我所知,它确实应该只选择指定州的县。
我正在使用 sf、tmap、tmaptools、dplyr、ggplot 和小册子包。这是我正在使用的代码:
mydata <- readr::read_csv("county_facts.csv")
mymap <- st_read("cb_2014_us_county_500k.shp")
map_and_data <- inner_join(mymap, mydata, by = c("NAME" = "area_name"))
tm_shape(map_and_data[map_and_data$state_abbreviation == "SC",])+
tm_polygons("AGE135214", id = "NAME", palette = "Greens")
(县名列在 shapefiles 中为“NAME”,在数据集中为“area_name”)
这里 AGE135214 是我正在绘制的变量,NAME 是县名,在这个例子中,我试图为南卡罗来纳州绘制它。我尝试通过更改数据和 shapefile 的合并来解决此问题:
map_and_data2 <- inner_join(mymap, mydata[mydata$state_abbreviation=="SC",], by = c("NAME" = "area_name"))
但这只会导致新的合并数据框包含错误的同名。
我是编程新手,如果有非常明显的解决方案,我深表歉意。非常感谢任何帮助!
数据和 shapefile 来自 https://www.kaggle.com/benhamner/2016-us-election,如果有帮助的话。
【问题讨论】:
标签: r