RasterLayer 的平均值不会计算(R 栅格包)

Mean of RasterLayer will Not Compute (R Raster Package)

因此,我堆叠了多个栅格(x1、x2、x3、x4、...)并成功地从所有这些栅格 (xmaster) 中计算出平均栅格。但是,然后我想要该栅格 (xmaster) 的平均像素值。通常我会显示摘要统计信息并调用平均值....但是 'xmaster' 的摘要中没有显示任何平均值!我不确定为什么 - 我想知道是否有人会好心帮助我解决问题。请看我下面的脚本:

lightstackFF<-list.files()
stacklights<-stack(lightstackFF)
xmaster<- mean(stacklights, na.rm=TRUE)
summary(xmaster)

"> 摘要(xmaster) 层 分钟11488 第一区18016 中位数 20048 第三曲。 21968 最大限度。 28704 NA 的 0

如你们所见,栅格没有显示平均值。当然,我可以保存光栅并在另一个软件中提取平均值——但这非常耗时。谁能帮我解决为什么这没有显示平均值?

raster 包中的汇总函数(最小值、最大值、平均值等)return 一个新的栅格对象,其中每个像元都是一个新的计算值。 raster::cellStats() 需要 return 层中所有单元格值的单个摘要。例如,要获取层均值的平均值,您可以使用类似以下内容:

r <- raster(nrow=18, ncol=36)
r[] <- runif(ncell(r)) * 10
rs <- stack(r,r,r)
layermeans <- cellStats(rs, stat='mean', na.rm=TRUE)
u <- mean(layermeans)
> layermeans
 layer.1  layer.2  layer.3 
5.028814 5.028814 5.028814 
> u
[1] 5.028814

怎么样

summary(xmaster[])    # Please note the []
# which is equivalent to:
summary(values(xmaster))
# or even
summary(getValues(xmaster))

这适用于 summary 包含 RasterLayer 的所有值 的 向量(而不适用于 RasterLayer 本身)。这应该为您提供以下信息(因此包括平均值):

Min. 1st Qu.  Median    Mean 3rd Qu.    Max.