【发布时间】:2016-01-04 18:55:11
【问题描述】:
我有一个英国的 shapefile:https://geoportal.statistics.gov.uk/Docs/Boundaries/Local_authority_district_(GB)_2014_Boundaries_(Generalised_Clipped).zip
我已将 shapefile 读入变量 UK
>UK <- readOGR(dsn = "....."
>England <- UK
我只想显示英语地方当局区域。它们在 LAD_DEC_2014_GB_BGC.dbf 中指定,其中 LAD14CD 以“E”开头
>UK@data
LAD14CD LAD14NM LAD14NMW
0 E06000001 Hartlepool <NA>
1 E06000002 Middlesbrough <NA>
2 E06000003 Redcar and Cleveland <NA>
371 W06000015 Cardiff Caerdydd
>#filter UK@data and replace England@data with only English regions
>England@data <- UK@data$LAD14CD[c(grep("^E", UK$LAD14CD))]
>plot(England)
【问题讨论】:
-
问题是 plot(UK) 工作正常,但我似乎无法过滤这些区域
-
可能是
UK@data$LAD14CD[substr(UK$LAD14CD,1) == "E"]? -
谢谢,这获得了我需要的 ID,但我需要使用这些 ID 对 UK@Data 进行子集化。我可以这样做: England@data[England$LAD14CD %in% UK@data$LAD14CD[substr(UK$LAD14CD,1,1) == "E"],] 但是我如何用这个覆盖 England@data新子集?