如何在 R 中使用 autoKrige 将通用克里金法与自定义预测空间网格一起应用
How to apply universal kriging with custom prediction spatial grid using autoKrige in R
我想使用 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 here 收到的(感谢 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)
然后收到以下错误:
Error in model.frame.default(terms.f, newdata, na.action = na.action, :
object is not a matrix In addition: Warning message:
'newdata' had 3102 rows but variable found had 1 row
我是否在创建网格时犯了错误 (r_meuse)?是否有 'better' 方法为预测数据创建网格?到目前为止,我发现的所有示例都使用 meuse.grid 数据,但我想将通用克里金法应用于还没有自己的网格数据的其他数据。
我认为这里的问题是您在没有 r_meuse
中存在的预测变量 dist
的情况下执行 UK。这是一个问题,因为线性进行预测需要这些信息。因此,r_meuse
需要是定义了 dist
的 SpatialPointsDataFrame
。
我想使用 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 here 收到的(感谢 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)
然后收到以下错误:
Error in model.frame.default(terms.f, newdata, na.action = na.action, : object is not a matrix In addition: Warning message: 'newdata' had 3102 rows but variable found had 1 row
我是否在创建网格时犯了错误 (r_meuse)?是否有 'better' 方法为预测数据创建网格?到目前为止,我发现的所有示例都使用 meuse.grid 数据,但我想将通用克里金法应用于还没有自己的网格数据的其他数据。
我认为这里的问题是您在没有 r_meuse
中存在的预测变量 dist
的情况下执行 UK。这是一个问题,因为线性进行预测需要这些信息。因此,r_meuse
需要是定义了 dist
的 SpatialPointsDataFrame
。