Я пытаюсь использовать map2SpatialPolygons
для создания графика плотности ядра на карте, показывающей подмножество штатов США. Я продолжаю ошибаться, говоря, что «карта и идентификаторы отличаются по длине».R: IDs в map2SpatialPolygons
Я знаю, что этот код работает (с помощью для map2SpatialPolygons):
nor_coast_poly <- map("world", "norway", fill=TRUE, col="transparent", plot=FALSE, ylim=c(58,72))
IDs <- sapply(strsplit(nor_coast_poly$names, ":"), function(x) x[1])
nor_coast_poly_sp <- map2SpatialPolygons(nor_coast_poly, IDs=IDs, proj4string=CRS("+proj=longlat +datum=wgs84"))
этот код работает (при отображении всего США):
usmap <- map('usa', fill=TRUE, col="transparent", resolution=0, plot=FALSE)
uspoly <- map2SpatialPolygons(usmap, IDs=usmap$names, proj4string=CRS("+proj=longlat +datum=WGS84"))
но этот код не будет:
states.to.plot=c("illinois", "indiana", "ohio")
dmap<-map("state", regions=states.to.plot, col="transparent", plot=FALSE)
dpoly <- map2SpatialPolygons(dmap, IDs=dmap$names, proj4string=CRS("+proj=longlat +datum=WGS84"))
Он бросает ошибку:
Error in map2SpatialPolygons(dmap, IDs = dmap$names, proj4string = CRS("+proj=longlat +datum=WGS84")) :
map and IDs differ in length
Как правильно получить идентификаторы при использовании карты («состояние» ...)?
отличного ответа, пришли сюда с точно такой же вопрос. – tomw