[R-sig-Geo] Problem with raster::calc

Agustin Lobo alobolistas at gmail.com
Fri Apr 29 11:57:40 CEST 2011


I've calculated a linear model using a subset of data from raster files
> sgcirRlm = lm(SGRGBF40data[,4] ~ SGCIRF56data[,4]+SGCIRF56data[,5]+SGCIRF56data[,6]
> coefficients(sgcirRlm)
      (Intercept) SGCIRF56data[, 4] SGCIRF56data[, 5] SGCIRF56data[, 6]
    -2075.0432230         0.9229117         0.9963710        -0.8310794

and want to apply the coefficients to the multiband raster
> show(SGCIRF56)
class       : RasterBrick
dimensions  : 1760, 2640, 3  (nrow, ncol, nlayers)
resolution  : 1, 1  (x, y)
extent      : 0, 2640, -1759, 1  (xmin, xmax, ymin, ymax)
projection  : +proj=utm +zone=31 +ellps=intl +units=m +no_defs
values      : /media/Iomega_HDD/UAVetal/CALIBRACIONRADIOM/TESTCASA/CALSEL/SGCIR/SGCIRWBPS125F56v2.tif
min values  : 0 0 0
max values  : 65535 65535 65535

to calculate the predicted raster, for which I'm using subset() within calc():
> sgcirRpred = calc(SGCIRF56,fun=function(x){coefficients(sgcirRlm)[1]+coefficients(sgcirRlm)[2]*subset(x,1) + coefficients(sgcirRlm)[3]*subset(x,2) + coefficients(sgcirRlm)[4]*subset(x,3)})

but this results into an error:
Error in .local(x, fun, ...) : cannot use this function
Calls: calc -> calc -> .local

is this because subset() cannot be used within the function to be
provided to calc()?

Thanks
> sessionInfo()
R version 2.13.0 (2011-04-13)
Platform: x86_64-pc-linux-gnu (64-bit)

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=en_US.UTF-8       LC_MESSAGES=en_US.UTF-8
 [7] LC_PAPER=en_US.UTF-8          LC_NAME=en_US.UTF-8
 [9] LC_ADDRESS=en_US.UTF-8        LC_TELEPHONE=en_US.UTF-8
[11] LC_MEASUREMENT=en_US.UTF-8    LC_IDENTIFICATION=en_US.UTF-8

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

other attached packages:
[1] gridExtra_0.7 ggplot2_0.8.9 rgdal_0.6-33  raster_1.8-16 sp_0.9-76
[6] reshape_0.8.4 plyr_1.4      proto_0.3-8   rkward_0.5.6

loaded via a namespace (and not attached):
[1] lattice_0.19-26 tools_2.13.0

Agus



More information about the R-sig-Geo mailing list