[R-sig-Geo] Guerry data: making a package
Roger Bivand
Roger.Bivand at nhh.no
Fri Oct 30 15:59:02 CET 2009
On Sat, 17 Oct 2009, Michael Friendly wrote:
> Hi
>
> Several years ago I sought & received help (thanks!) from people on this list
> regarding map and data
> files associated with my article, A.M. Guerry's Moral Statistics of France:
> Challenges for multivariate spatial analysis,
> that appeared in Statistical Science, 2007, 22,368-399. As supplementary
> materials for that article, I prepared
> http://www.math.yorku.ca/SCS/Gallery/guerry/
>
> and also included map and data files for R at
> http://www.math.yorku.ca/SCS/Gallery/guerry/maps.html#R
> but these were really just a sketch that required more work to make them
> fully usable.
>
> Now I'd like to make an R package including the gfrance1 map and the guerry
> data, and other things,
> but I found that something in maptools or other packages had changed, so that
> a script that worked
> for me with these map files back in Aug, 2008 does so no longer:
>
>> library(sp)
>> library(maptools)
>> gfrance <- readShapeSpatial("gfrance1")
> Error in read.shape(filen = fn, verbose = verbose, repair = repair) :
> File size and implied file size differ, consider trying repair=TRUE
>
> I get the same error with readShapePoly().
readShapeSpatial() is a wrapper for readShapePoly() and others, choosing
on shape type. The message suggests that the *.shx file is not as
expected.
With a freshly downloaded copy from your website, I cannot reproduce the
problem, and gfrance1.shp reads correctly on:
> sessionInfo()
R version 2.10.0 (2009-10-26)
i686-pc-linux-gnu
locale:
[1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
[3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
[5] LC_MONETARY=C LC_MESSAGES=en_US.UTF-8
[7] LC_PAPER=en_US.UTF-8 LC_NAME=C
[9] LC_ADDRESS=C LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] maptools_0.7-26 foreign_0.8-38 sp_0.9-44
loaded via a namespace (and not attached):
[1] grid_2.10.0 lattice_0.17-26
>
> Once I can get that sorted out, it's not exactly clear to me exactly how to
> prepare map files
> (SpatialPolygonsDataFrame) for a package with appropriate documentation.
> Using
> another version of the Guerry map and data (omitting Corsica) provided by
> Stephane Dray, I *could* read it
> successfully, then tried
>
>> cd("dray")
>> gfrance85 <- readShapePoly("gfrance1")
>> save(gfrance85, file="gfrance85.rda")
>> prompt(gfrance85)
> Created file named 'gfrance85.Rd'.
> Edit the file and move it to the appropriate directory.
>
> There is no prompt method for SpatialPolygonsDataFrame objects, so
> prompt() just dumps the entire results of str(gfrance85); I can of
> course edit out the @ polygons list. Is this the recommended way to
> include such objects in packages?
The prompt method for data either identifies data.frame objects or dumps
the object. For me,
prompt(as(gfrance, "data.frame"), name="gfrance")
looks easier to edit, adding the class details.
Hope this helps,
Roger
> Thanks, -Michael
>
>
>
--
Roger Bivand
Economic Geography Section, Department of Economics, Norwegian School of
Economics and Business Administration, Helleveien 30, N-5045 Bergen,
Norway. voice: +47 55 95 93 55; fax +47 55 95 95 43
e-mail: Roger.Bivand at nhh.no
More information about the R-sig-Geo
mailing list