Вы можете попробовать следующее:
library(raster)
library(maps)
dat<-matrix(seq(1:5290),c(115,46))
Создать растр с желаемым экстентом
r <- raster(dat)
e <- extent(c(-124.5, -67.25, 26.25, 48.75))
extent(r) <- e
и построить его
plot(r)
map("usa", add=T)
взять среднее значениевесь растр
mean(getValues(r))
означает для региона
r.sub <- crop(r, c(-100, -54, 40, 45))
mean(getValues(r.sub))
Извлечение из полигонов
Вам необходим элемент SpatialPolygonsDataFrame.Здесь я создаю фиктивный файл с readWKT()
, но вы также можете прочитать шейп-файл с readShapePoly()
из пакета maptools
.
library(rgeos)
poly <- readWKT("POLYGON((-100 30, -100 31, -70 30, -88 29, -100 30))")
plot(r)
plot(poly, add=T)
и извлечь среднее значение:
dat <- extract(r, poly)
sapply(dat, mean)