我有一个采样层的多边形shapefile,它在属性表中包含每个相应多边形的名称/ ID(StrataID)。在单独的.csv文件中,除了在每个相应层中采用的采样工作之外,我再次具有相同的层数ID。
然而,在某些地层并不总是被采样(样本大小为0),而空间采样的GRTS功能(spsurvey)不允许零努力的情况下,那些没有努力的地层被移除;我留下一个.csv文件,其中只包含采样工作量> 0的地层。从这个分层子集中,我需要与包含样本将被分配到的分层多边形的shapefile同步(即,不需要采样的分层多边形必须从shapefile中删除)。
是否有办法通过仅调用单独电子表格中存在的ID来对shapefile进行子集化?
shapefile(strata)和.csv(努力)都使用相同的分层标识符。
我已经玩过子集和其他功能,但收效甚微:
# the second column of the strata file is StrataID
strata <- strata[strata@data[,2] %in% c(effort$StrataID)]
任何方向都会非常感激。
答案 0 :(得分:2)
library(maptools)
data(wrld_simpl)
countrydf <- data.frame(country = c('Brazil', 'Bolivia', 'Argentina'))
sampl <- wrld_simpl[wrld_simpl@data[, 5] %in% countrydf$country, ]
或
sampl <- subset(wrld_simpl, NAME %in% countrydf$country)
plot(sampl, axes = T)