我可能在这里做错了,但我发现如果通过删除不相关的列来简化数据框,则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
情节的细节也各不相同。
这是预期的行为吗?
谢谢, 比尔
答案 0 :(得分: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
网格类似。