Преобразование данных карты во фрейм данных с помощью fortify {ggplot2} для пространственных объектов в R

Раньше я мог запускать этот скрипт без каких-либо проблем, но теперь команда fortify {ggplot2} выдает мне сообщение об ошибке. Любой намек на то, что может быть проблемой, был бы замечательным! Я использовал команду fortify, чтобы иметь возможность geom_map шейп-файла с помощью ggplot2.

Ниже мой скрипт и ссылка для скачивания данных.

#######################################################
#######################################################
rm(list = ls(all = TRUE))#clear workspace
getwd()
#upload packages
library(maps)
library(mapdata)
library(gridExtra)
library(rgdal)
library(rgeos)
library(ggplot2)
library(sp)
library(maptools)
gpclibPermit()

#setwd(".../FAO") FAO data are major fishing area divisions
> FAO<- readOGR(dsn="fao", layer="World_Fao_Zones")
OGR data source with driver: ESRI Shapefile 
Source: "fao", layer: "World_Fao_Zones"
with 19 features and 1 fields
Feature type: wkbPolygon with 2 dimensions
> names(FAO);dim(FAO)
[1] "zone"
[1] 19  1
> str(FAO,max.level=2)
Formal class 'SpatialPolygonsDataFrame' [package "sp"] with 5 slots
  ..@ data       :'data.frame': 19 obs. of  1 variable:
  ..@ polygons   :List of 19
  ..@ plotOrder  : int [1:19] 18 2 17 4 12 3 13 11 5 6 ...
  ..@ bbox       : num [1:2, 1:2] -180 -85.5 180 90
  .. ..- attr(*, "dimnames")=List of 2
  ..@ proj4string:Formal class 'CRS' [package "sp"] with 1 slots
> plot(FAO)

FAO plot

FAO@data$id = rownames(FAO@data)
FAO.df <- as.data.frame(FAO)# convert shapefile to dataframe to merge later
> FAO_fort <- fortify(FAO, region="id")# fortify to plot with ggplot2 
Error in function (classes, fdef, mtable)  : 
  unable to find an inherited method for function "proj4string", for signature "NULL"

Вот ссылка для загрузки данных Данные ФАО. Спасибо!

5
задан Marek 10 July 2012 в 21:48
поделиться