0

我可能在这里做错了,但我发现如果我通过删除不相关的列来简化我的数据框,automap 库中的 autoKrige 函数会给出不同的结果。我已经用 automap 库中的 meuse 数据重现了这个问题。

library(automap)
data(meuse)
colnames(meuse)
 [1] "x"       "y"       "cadmium" "copper"  "lead"    "zinc"    "elev"   
 [8] "dist"    "om"      "ffreq"   "soil"    "lime"    "landuse" "dist.m" 

coordinates(meuse) =~ x+y
data(meuse.grid)
gridded(meuse.grid) =~ x+y
kriging_result_01 = autoKrige(zinc~1, meuse)
plot(kriging_result_01)

meuse <- NULL
data(meuse)
meuse <- meuse[, c(1,2,6)]

coordinates(meuse) =~ x+y
data(meuse.grid)
gridded(meuse.grid) =~ x+y
kriging_result_02 = autoKrige(zinc~1, meuse)
plot(kriging_result_02)

identical(kriging_result_01, kriging_result_02)
[1] FALSE

这些情节的细节也有所不同。

这是预期的行为吗?

谢谢,比尔

4

1 回答 1

0

问题不在于移除的列,而在于应用拟合模型的网格。使用您的示例,您可以看到:

library(automap)
set.seed(42)

data(meuse)
coordinates(meuse) =~ x+y
data(meuse.grid)
gridded(meuse.grid) =~ x+y
kriging_result_01 = autoKrige(zinc~1, meuse)

meuse <- NULL
data(meuse)
meuse <- meuse[, c(1,2,6)]
coordinates(meuse) =~ x+y

kriging_result_02 = autoKrige(zinc~1, meuse)


kriging_result_01$krige_output@grid
                            x1           x2
cellcentre.offset 178635.12844 329744.86186
cellsize              32.93423     32.93423
cells.dim             84.00000    118.00000

kriging_result_02$krige_output@grid
                            x1           x2
cellcentre.offset 178614.42379 329741.35016
cellsize              32.93423     32.93423
cells.dim             85.00000    118.00000

如您所见,网格略有不同,分别有 4999 和 4996 个网格点。

如果你使用

kriging_result_01 = autoKrige(zinc~1, meuse, meuse.grid)
kriging_result_02 = autoKrige(zinc~1, meuse, meuse.grid)

kriging_result_01$krige_output@grid
                       x      y
cellcentre.offset 178460 329620
cellsize              40     40
cells.dim             78    104

kriging_result_02$krige_output@grid
                       x      y
cellcentre.offset 178460 329620
cellsize              40     40
cells.dim             78    104

网格是相似的。

于 2014-10-01T05:51:14.013 回答