如果多边形不能通过其属性进行子设置,我该如何根据有效属性将其拆分?
require(raster)
chnshp<-getData('GADM', country="China", level=1)
chnshp # nfeatures : 32
row.names(chnshp) #
chnshp$NAME_1 #
chnshp$NAME_1=='Hainan' # Only one row is True
row.names(chnshp[chnshp$NAME_1=='Hainan']) # 32 rows
chnshp[chnshp$NAME_1=='Hainan'] # nfeatures : 32
plot(chnshp[chnshp$NAME_1=='Hainan']) # the entire China plot?
问题:
如何根据列NAME_1
拆分它?
确保chnshp[chnshp$NAME_1=='Hainan']
返回海南地区。
答案 0 :(得分:4)
使用“[”提取功能而不是“[[”。
plot(chnshp[chnshp$NAME_1=='Hainan', ])
将长度为32的逻辑向量发送到“[”而不是“[[”并且期望长度为一个参数更有意义。 (并且最好不要将这些称为'属性',因为这是一个在R中具有特殊含义的术语。