rm(list=ls())
library(raster)
## Loading required package: sp
##contains 'dsd' a spatial polygons data.frame and 'g' a raster brick with 10 layers
load('~/Dropbox/Public/99_raster_bugreport.Rdata') #https://dl.dropboxusercontent.com/u/9577903/99_raster_bugreport.Rdata
dsd
## class : SpatialPolygonsDataFrame
## features : 36
## extent : 34.05, 39.7, -4.677, 1.199 (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +a=6378249.145 +b=6356514.96582849 +no_defs
## variables : 4
## names : Province, District, Division, uidu
## min values : CENTRAL, BUNGOMA, ABOTHUGUCHI WEST, 1
## max values : WESTERN, VIHIGA, WINAM, 44
g
## class : RasterBrick
## dimensions : 24, 20, 480, 10 (nrow, ncol, ncell, nlayers)
## resolution : 0.5, 0.5 (x, y)
## extent : 33, 43, -6, 6 (xmin, xmax, ymin, ymax)
## coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0
## data source : in memory
## names : X1999.03.01, X1999.03.02, X1999.03.03, X1999.03.04, X1999.03.05, X1999.03.06, X1999.03.07, X1999.03.08, X1999.03.09, X1999.03.10
## min values : 22.48, 22.44, 22.26, 22.23, 22.12, 22.42, 22.28, 22.15, 22.36, 22.33
## max values : 41.48, 40.53, 41.55, 42.33, 41.68, 40.79, 41.83, 40.83, 41.13, 42.01
plot(g[[1]])
plot(dsd,add=T)

#test1<-extract(g,dsd,fun=mean,na.rm=T,weights=T)
#produces this error:
#Error in t(sapply(res, meanfunc)) :
# error in evaluating the argument 'x' in selecting a method for function 't': Error in apply(x, 1, function(X) { : dim(X) #must have a positive length
test2<-extract(g,dsd,fun=mean,na.m=T)
head(test2)
## X1999.03.01 X1999.03.02 X1999.03.03 X1999.03.04 X1999.03.05
## [1,] NA NA NA NA NA
## [2,] NA NA NA NA NA
## [3,] NA NA NA NA NA
## [4,] NA NA NA NA NA
## [5,] NA NA NA NA NA
## [6,] NA NA NA NA NA
## X1999.03.06 X1999.03.07 X1999.03.08 X1999.03.09 X1999.03.10
## [1,] NA NA NA NA NA
## [2,] NA NA NA NA NA
## [3,] NA NA NA NA NA
## [4,] NA NA NA NA NA
## [5,] NA NA NA NA NA
## [6,] NA NA NA NA NA
summary(test2)
## X1999.03.01 X1999.03.02 X1999.03.03 X1999.03.04
## Min. :24.5 Min. :25.2 Min. :24.7 Min. :25.5
## 1st Qu.:29.3 1st Qu.:31.0 1st Qu.:29.6 1st Qu.:30.8
## Median :30.3 Median :33.6 Median :31.1 Median :31.9
## Mean :29.9 Mean :32.8 Mean :30.4 Mean :31.8
## 3rd Qu.:31.9 3rd Qu.:36.1 3rd Qu.:32.6 3rd Qu.:34.4
## Max. :32.8 Max. :37.0 Max. :33.5 Max. :35.8
## NA's :30 NA's :30 NA's :30 NA's :30
## X1999.03.05 X1999.03.06 X1999.03.07 X1999.03.08
## Min. :27.4 Min. :25.4 Min. :25.9 Min. :24.1
## 1st Qu.:31.6 1st Qu.:29.8 1st Qu.:29.5 1st Qu.:28.4
## Median :33.3 Median :30.3 Median :30.5 Median :29.7
## Mean :32.6 Mean :29.7 Mean :29.9 Mean :29.2
## 3rd Qu.:34.7 3rd Qu.:30.6 3rd Qu.:31.3 3rd Qu.:30.8
## Max. :35.4 Max. :32.0 Max. :31.7 Max. :32.5
## NA's :30 NA's :30 NA's :30 NA's :30
## X1999.03.09 X1999.03.10
## Min. :26.0 Min. :25.5
## 1st Qu.:29.5 1st Qu.:30.7
## Median :30.6 Median :31.1
## Mean :30.1 Mean :31.2
## 3rd Qu.:31.4 3rd Qu.:33.5
## Max. :32.8 Max. :34.8
## NA's :30 NA's :30
glist<-vector(mode='list',length=nlayers(g))
for(i in 1:length(glist)){
glist[[i]]<-extract(g[[i]],dsd,fun=mean,na.rm=T,weigths=T)
}
sessionInfo()
## R version 3.1.0 (2014-04-10)
## Platform: x86_64-apple-darwin10.8.0 (64-bit)
##
## locale:
## [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
##
## attached base packages:
## [1] stats graphics grDevices utils datasets methods base
##
## other attached packages:
## [1] raster_2.2-31 sp_1.0-15
##
## loaded via a namespace (and not attached):
## [1] digest_0.6.4 evaluate_0.5.5 formatR_0.10 grid_3.1.0
## [5] htmltools_0.2.4 knitr_1.6 lattice_0.20-29 rmarkdown_0.2.46
## [9] stringr_0.6.2 tools_3.1.0