我正在尝试创建一个充满半变异函数输出的栅格,例如描述空间自相关的区域的窗台和范围。我想尝试使用 R 中的焦点函数作为扫描区域的一种方式,并尝试使用 gstat 包中的变异函数来计算窗台和范围。
我尝试了以下代码,但该功能存在问题。
library(raster)
library(gstat)
r <- raster()
r[] <- 1:ncell(r)
ra <- aggregate(r, 5)
plot(ra)
v<-variogram(layer~1,as(ra,"SpatialPixelsDataFrame"))
plot(v)
f = fit.variogram(v, vgm("Sph"))
f$psill[2]
f$range
var.sill<-function(x){
names(x)<-c("layer")
v<-variogram(layer~1,as(x,"SpatialPixelsDataFrame"))
f = fit.variogram(v, vgm("Sph"))
f$psill[2]
}
var.sill(ra)
# 374758092
## in a window surrounding each focal cell
rpsill <- focal(ra, w=matrix(1/225, ncol=15, nrow=15), fun=var.sill)
plot(rpsill)
错误状态,“ as(x, "SpatialPixelsDataFrame") 中的错误:没有将“数字”强制转换为“SpatialPixelsDataFrame”的方法或默认值“
如果有其他方法可以创建这些新栅格,我将不胜感激,也请告诉我。
谢谢你。