Berikut ini contoh kode. Cukup mudah untuk mengadaptasi kode ini agar bekerja dalam satu lingkaran untuk memproses semua raster Anda. Jika raster Anda berbagi tingkat dan resolusi yang sama, Anda dapat membuat raster stack dan loop melalui band-band di stack. Untuk membuat vektor yang berisi semua raster dalam direktori, dalam format tertentu, Anda dapat menggunakan "list.files" dan kemudian meneruskan vektor ini untuk ditumpuk.
Contoh:
rlist=list.files(getwd(), pattern="img$", full.names=TRUE)
r <- stack(rlist)
# Add required libraries
require(raster)
require(sp)
require(rgdal)
# Set working directory, raster, in and out shapefiles
setwd("C:/test")
inshp="MyPolys"
outshp="PolyMeans"
rdata <- "Year2012.img"
# Read polygon feature class shapefile
sdata <- readOGR(dsn=getwd(), layer=inshp)
# Read raster
r <- raster(rdata)
# Extract raster values to list object
r.vals <- extract(r, sdata)
# Use list apply to calculate mean for each polygon
r.mean <- lapply(r.vals, FUN=mean)
# Join mean values to polygon data
sdata@data <- data.frame(sdata@data, m2012=r.mean)
# Write results
writeOGR(sdata, getwd(), outshp, driver="ESRI Shapefile", check_exists=TRUE,
overwrite_layer=TRUE)