2014-10-01 53 views
0

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

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

我没有详细搜索为什么,但我想这与'new_data'对象在未提供给'autoKrige'时的计算方式有关。使用autoKrige(zinc〜1,meuse,meuse.grid)'给出了相同的结果。 – 2014-10-01 05:19:40

+0

如果你看看'kriging_result_01 $ krige_output @ grid'和'kriging_result_02 $ krige_output @ grid',你可以看到计算出的'new_data'对象略有不同。 – 2014-10-01 05:37:37

回答

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) 


[email protected] 
          x1   x2 
cellcentre.offset 178635.12844 329744.86186 
cellsize    32.93423  32.93423 
cells.dim    84.00000 118.00000 

[email protected] 
          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) 

[email protected] 
         x  y 
cellcentre.offset 178460 329620 
cellsize    40  40 
cells.dim    78 104 

[email protected] 
         x  y 
cellcentre.offset 178460 329620 
cellsize    40  40 
cells.dim    78 104 

的网格是相似的。

+0

辉煌,感谢帕斯卡! – 2014-10-01 06:57:32

+0

@WilliamChivers如果这个答案解决了你的问题,考虑接受它作为一个正确的答案 - 通过点击它的分数下的灰色勾号。 – 2014-10-01 07:29:34

相关问题