Преобразование объекта «карта» в объект «SpatialPolygon»

Я предполагаю, что есть простое решение проблемы, с которой я столкнулся, но у меня возникли некоторые проблемы.

Я пытаюсь преобразовать следующееmap объект:

require(maps)
usa <- map("state")

вSpatialPolygon объект с помощьюmap2SpatialPolygons функция:

require(maptools)
usa.sp <- map2SpatialPolygons(usa, IDs=usa$names,proj4string=CRS("+proj=longlat"))

Я продолжаю получать следующую ошибку:

Error in map2SpatialPolygons(usa, IDs = usa$names, proj4string = CRS("+proj=longlat")) : 
  map and IDs differ in length

После некоторого исследования, похоже, что ID имеют длину 63 иmap объект имеет длину 169 после применения функции.NAmat2xyList(cbind(map$x, map$y)) (для которого я не могу найти источник).

У кого-нибудь есть идеи? Вот структураusa объект карты:

> str(usa)
List of 4
 $ x    : num [1:1705] -88.4 -88.1 -88 -87.9 -87.8 ...
 $ y    : num [1:1705] 30.4 30.4 30.8 30.6 30.3 ...
 $ range: num [1:4] -124.7 -67 25.1 49.4
 $ names: chr [1:63] "alabama" "arizona" "arkansas" "california" ...
 - attr(*, "class")= chr "map"

Ответы на вопрос(2)

Ваш ответ на вопрос