我想使用 R 中的 autokrige 函数对数据集应用通用克里金法。我想为预测点创建自己的自定义空间网格(用于 autokrige 的 new_data 参数)。我正在使用 R 版本 3.2.2(64 位)和 RStudio 版本 0.99.486。以下是我到目前为止所做的:
library(automap)
library(sp)
library(gstat)
library(raster)
library(rgdal)
data(meuse)
coordinates(meuse) <- ~x + y
proj4string(meuse) <- CRS("+init=epsg:28992")
以下代码是从此处的 stackexchange 收到的(感谢 Jeffrey Evans),用于为预测值创建自定义空间网格:
ext_meuse <- as(extent(meuse), "SpatialPolygons")
r_meuse <- rasterToPoints(raster(ext_meuse, resolution = 59), spatial = TRUE)
proj4string(r_meuse) <- proj4string(meuse)
然后我尝试使用 autoKrige 应用通用克里金法(“dist”列上的回归):
kriging_result = autoKrige(zinc~dist, meuse, r_meuse)
然后收到以下错误:
model.frame.default 中的错误(terms.f,newdata,na.action = na.action,:对象不是矩阵另外:警告消息:'newdata' 有 3102 行,但找到的变量有 1 行
我在创建网格 (r_meuse) 时犯了错误吗?有没有“更好”的方法来为预测数据创建网格?到目前为止,我发现的所有示例都使用了 meuse.grid 数据,但我想将通用克里金法应用于其他还没有自己的网格数据的数据。