了解gstat的方差图

时间:2019-10-03 00:24:30

标签: r gstat

我不熟悉gstat和方差图,希望有人可以帮助我向我解释一些细节,而这些细节似乎不在文档中。

我已使用默认数据和帮助页面之一中的示例来拟合球形变异函数 https://gisgeography.com/semi-variogram-nugget-range-sill/和许多其他网站都定义了以下定义:

  • SILL:模型首次展平的值。
  • 范围: 模型首次展平的距离。
  • NUGGET:的值 半变异函数(几乎)截获了y值。

这一切都有道理。在示例数据中,拟合的方差图给出了此data.frame:

v.fit
#>   model      psill    range
#> 1   Nug 0.08234213    0.000
#> 2   Sph 0.38866509 1098.571
我对此的解释是,熔核为0.082,底线为0.388,范围为1098.6,但在下面的图中,熔核与范围线的底线似乎更接近0.45。谁能解释这些数字?

library(gstat)
library(sp)
library(lattice)

data(meuse)
coordinates(meuse) = ~x+y
v = variogram(log(zinc)~x+y, meuse)
v.fit = fit.variogram(v, vgm(1, "Sph", 700, 1))
v.fit
#>   model      psill    range
#> 1   Nug 0.08234213    0.000
#> 2   Sph 0.38866509 1098.571

testplot<-  plot(v, v.fit,
          panel = function(x, ...) {
            panel = vgm.panel.xyplot(x, ...);
            panel.abline(h = v.fit$psill[1:2], v = v.fit$range[2])})
print(testplot)

reprex package(v0.3.0)于2019-10-03创建

1 个答案:

答案 0 :(得分:0)

好的,我刚刚意识到两个psill值加起来就是最高值。这对于其他人可能是显而易见的,但是我会在这里回答,而不是删除,以防将来其他人像我一样困惑。

    plot(thisvgm, fitvgm2, main = paste0(Reduce(paste, deparse(FORMULAS[[MOD]] )), " range = 15"), ylim = c(0,1500),
         panel = function(x, ...) {
           panel = vgm.panel.xyplot(x, ...);
           panel.abline(h = c(fitvgm2$psill[1],sum(fitvgm2$psill)), v = fitvgm2$range[2])})