On Mon, 6 Apr 2009, Don MacQueen wrote:

I am finding that plotting a SpatialPolygonsDataFrame object
fails when the base graphics packages are ahead of
sp in the search() path. This occurs when I put
   require(maptools)     [ or require(rgdal), or require(sp) ]
in my .Rprofile file.

I never use an .Rprofile file for loading packages, because I forget that it/they is/are there. Mine sets up an alternative terminal handling of help pages, running R code from the base package. Could you try manually ordering the search path by requiring() the base packages graphics:datasets before maptools in your .Rprofile? Reading ?.Rprofile does suggest that one needs to tread carefully here.

Roger


In the examples below, the object 'srdf' was created exactly as in the example in help('overlay').

An entire transcript of both cases is included at the end, but here are the key excerpts:

-- Case 1 (problem):
 search()
[1] ".GlobalEnv"        "package:graphics"  "package:grDevices"
[4] "package:utils"     "package:datasets"  "package:maptools"
[7] "package:sp"        "package:foreign"   "package:stats"
[10] "package:methods"   "Autoloads"         "package:base"

 plot(srdf)
Error in as.double(y) :
 cannot coerce type 'S4' to vector of type 'double'

-- Case 2 (ok):
 search()
[1] ".GlobalEnv"        "package:maptools"  "package:sp"
[4] "package:foreign"   "package:stats"     "package:graphics"
[7] "package:grDevices" "package:utils"     "package:datasets"
[10] "package:methods"   "Autoloads"         "package:base"

 plot(srdf)


Do I understand correctly that the reason is that there is 'plot' function in the base graphics package, and another in the sp package, and the latter is required for plotting spatial objects, so it has to come first in the search order? Or have I missed something?

This is easy enough to deal with, but it would be convenient to be able to put those "requires" in .Rprofile.

Thanks
-Don

-------------------------------------------------------------

maptools.load.order[119]% cat .Rprofile
require(maptools)
maptools.load.order[120]%
maptools.load.order[120]% R

R version 2.8.1 (2008-12-22)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

 Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

Loading required package: maptools
Loading required package: foreign
Loading required package: stats
Loading required package: sp
[Previously saved workspace restored]

 class(srdf)
[1] "SpatialPolygonsDataFrame"
attr(,"package")
[1] "sp"

 search()
[1] ".GlobalEnv"        "package:graphics"  "package:grDevices"
[4] "package:utils"     "package:datasets"  "package:maptools"
[7] "package:sp"        "package:foreign"   "package:stats"
[10] "package:methods"   "Autoloads"         "package:base"

 plot(srdf)
Error in as.double(y) :
 cannot coerce type 'S4' to vector of type 'double'
 q()
Save workspace image? [y/n/c]: y
maptools.load.order[121]%


--------------------------------------------------------------

maptools.load.order[123]% cat .Rprofile
## require(maptools)
maptools.load.order[124]%
maptools.load.order[124]% R

R version 2.8.1 (2008-12-22)
Copyright (C) 2008 The R Foundation for Statistical Computing
ISBN 3-900051-07-0

R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.

 Natural language support but running in an English locale

R is a collaborative project with many contributors.
Type 'contributors()' for more information and
'citation()' on how to cite R or R packages in publications.

Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.

[Previously saved workspace restored]

 require(maptools)
Loading required package: maptools
Loading required package: foreign
Loading required package: sp

 class(srdf)
[1] "SpatialPolygonsDataFrame"
attr(,"package")
[1] "sp"

 search()
[1] ".GlobalEnv"        "package:maptools"  "package:sp"
[4] "package:foreign"   "package:stats"     "package:graphics"
[7] "package:grDevices" "package:utils"     "package:datasets"
[10] "package:methods"   "Autoloads"         "package:base"

 plot(srdf)

 sessionInfo()
R version 2.8.1 (2008-12-22)
i386-apple-darwin8.11.1

locale:
C

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] maptools_0.7-21 sp_0.9-34       foreign_0.8-34

loaded via a namespace (and not attached):
[1] grid_2.8.1      lattice_0.17-20
Warning message:
'DESCRIPTION' file has 'Encoding' field and re-encoding is not possible

 q()
Save workspace image? [y/n/c]: y
maptools.load.order[125]%



--
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.biv...@nhh.no

_______________________________________________
R-sig-Geo mailing list
R-sig-Geo@stat.math.ethz.ch
https://stat.ethz.ch/mailman/listinfo/r-sig-geo

Reply via email to