R 计算光栅单元和邻域之间的差异

R 计算光栅单元和邻域之间的差异,r,raster,r-raster,R,Raster,R Raster,我试图计算光栅单元和3x3邻域中的平均值之间的差值 用这个光栅 r = raster(ncol=10, nrow=10, xmn=0, xmx=100, ymn=0, ymx=100) set.seed(123) values(r) = round(runif(ncell(r),1,100)) 我可以用类似的东西 r2 <- focal(r2, w=matrix(1,nrow=3,ncol=3), fun=) r2您可以分两步完成: #First, get the mean in a

我试图计算光栅单元和3x3邻域中的平均值之间的差值

用这个光栅

r = raster(ncol=10, nrow=10, xmn=0, xmx=100, ymn=0, ymx=100)
set.seed(123)
values(r) = round(runif(ncell(r),1,100))
我可以用类似的东西

r2 <- focal(r2, w=matrix(1,nrow=3,ncol=3), fun=)

r2您可以分两步完成:

#First, get the mean in a 3x3 neighbourhood
r2 <- focal(r, w=matrix(1,nrow=3,ncol=3), fun=mean)

#Then subtract the focal mean from the original cell values using simple raster arithmetic:
r3 <- r - r2
#首先,在一个3x3的社区中获得平均值

r2谢谢。运行代码后,平均值不正确。如果1/9是矩阵的参数,那么
fun
需要是
sum
这个代码也可以
focus(r,w=matrix(1,nrow=3,ncol=3,fun=mean)
,正如这里提到的是的,这是正确的,我认为没有仔细检查你最初发布的代码。请参见编辑。这基本上是的副本