R 按纬度间隔划分的栅格统计摘要

R 按纬度间隔划分的栅格统计摘要,r,subset,geospatial,raster,r-raster,R,Subset,Geospatial,Raster,R Raster,在R中是否有一种快速的方法可以根据纬度间隔或箱子对光栅进行汇总统计。不是整个光栅图层的摘要,而是空间分区。例如,获取纬度中每两度光栅单元值的平均值和sd 下面是具有Lat/Long坐标的投影光栅的一些示例数据 set.seed(2013) library(raster) r <- raster(xmn=-110, xmx=-90, ymn=40, ymx=60, ncols=40, nrows=40) r <- setValues(r, rnorm(1600)) #add valu

在R中是否有一种快速的方法可以根据纬度间隔或箱子对光栅进行汇总统计。不是整个光栅图层的摘要,而是空间分区。例如,获取纬度中每两度光栅单元值的平均值和sd

下面是具有Lat/Long坐标的投影光栅的一些示例数据

set.seed(2013)
library(raster)

r <- raster(xmn=-110, xmx=-90, ymn=40, ymx=60, ncols=40, nrows=40)
r <- setValues(r, rnorm(1600)) #add values to raster
r[r > -0.2 & r < 0.2] <- NA #add some NA's to resemble real dataset
plot(r)

> r
class       : RasterLayer 
dimensions  : 40, 40, 1600  (nrow, ncol, ncell)
resolution  : 0.5, 0.5  (x, y)
extent      : -110, -90, 40, 60  (xmin, xmax, ymin, ymax)
coord. ref. : +proj=longlat +datum=WGS84 +ellps=WGS84 +towgs84=0,0,0 
data source : in memory
names       : layer 
values      : -3.23261, 2.861592  (min, max)
set.seed(2013年)
图书馆(光栅)

r由于光栅的分辨率为0.5且有40行,因此每4行需要
平均值
/
sd

set.seed(2013)
library(raster)

r <- raster(xmn=-110, xmx=-90, ymn=40, ymx=60, ncols=40, nrows=40)
r <- setValues(r, rnorm(1600)) #add values to raster
r[r > -0.2 & r < 0.2] <- NA #add some NA's to resemble real dataset

rmean <- sapply(seq(1,nrow(r),4),function(rix) mean(r[rix:rix+3,],na.rm=T))

rsd <- sapply(seq(1,nrow(r),4),function(rix) sd(r[rix:rix+3,],na.rm=T))


# > rmean
# [1] -0.033134373 -0.180689704  0.176575934 -0.003422832 -0.049113312  0.234891614  0.188559162 -0.026514169  0.106970362
# [10]  0.096033677
set.seed(2013年)
图书馆(光栅)

r您可以将行(本例中为4组)和列(合并为一列)聚合在一起

a
a <- aggregate(r, c(ncol(r), 4), fun=mean)
b <- aggregate(r, c(ncol(r), 4), fun=sd)

lat <- yFromRow(a, 1:nrow(a))
plot(lat, values(a))