> Hello all,
> I've got a problem with a function in a R package I've developed
The function with the problem is a GRASS script embedded in a portmanteau
function (doing too much at once). This list is not appropriate, and
http://lists.osgeo.org/mailman/listinfo/grass-stats would be much more
appropriate, as this has nothing to do with the development of R internals.
The function should return an S3 object (list of objects) with plot and
summary methods. Then you can see where problems are happening.
> However if I load the exact same function in R it runs perfectly well.
> This has something to do with environments, but I can't understand whats
> wrong. It is also related with the plotting, since if I set the argument
> plot.directions to FALSE I get no error.
> Here's the code:
> #Loading packages
> #Loading required data
> #Loading required maps
> presences <- system.file("examples/presences.asc", package="MetaLandSim")
> mask <- system.file("examples/landmask.asc", package="MetaLandSim")
> #Start GRASS using rgrass7
> initGRASS("C:/Program Files (x86)/GRASS GIS 7.0.0", home=tempdir())
> #Running function
> range.map <- range_raster(presences.map=presences, re.out=rg_exp,
The example fails because you expect a mask to be set, and remove it - if it
isn't there, the GRASS script fails. Adding:
execGRASS("r.mask", raster="map.mask") gets me further, but isn't the
problem, which is (in this case):
debug: image(raster(readRAST("Nprobability")), main = "Northern probability")
Creating BIL support files...
Exporting raster as floating values (bytes=8)
Error in image.default(raster(readRAST("Nprobability")), main = "Northern
'z' must be a matrix
so there is an issue here, which might be addressed by raster::raster
(untried). Main take-home point - write simple functions and leave plota and
summaries to methods used on the output objects - anything else is hard to
debug and maintain.