R语言中基于特定县筛选大型空间数据框后结果未变更的问题
问题原因与修复方案
你的筛选代码逻辑有误,导致subset直接返回了原数据集:
- 原条件
"Cheyenne"%in%USA$NAME_2&"Kimball"%in%USA$NAME_2是在检查这两个县名是否都存在于整个NAME_2列中,返回的是一个单独的TRUE(因为这两个县确实都存在)。当subset()拿到单一TRUE时,会直接返回全部数据,这就是结果没变化的原因。
正确的写法应该是判断每一行的NAME_2是否属于你要的县集合:
library(raster) library(leaflet) library(viridis) # 获取美国县级多边形数据 USA <- getData("GADM", country = "usa", level = 2) # 筛选Cheyenne和Kimball县 subusa <- subset(USA, NAME_2 %in% c("Cheyenne", "Kimball"))
你可以用unique(subusa$NAME_2)或者nrow(subusa)验证筛选结果是否正确。
内容的提问来源于stack exchange,提问作者firmo23
相关产品推荐
相关产品推荐

