用于计算标记变异函数的距离规范

Specification of distances for calculation of marked variogram

在 spatstat 包中,为什么 markvario 函数不允许大于 window 长度的 1/4 的距离进行变差函数计算?

markvario(X, correction = c("isotropic", "Ripley", "translate"), r = NULL, 方法 = "density", ..., normalise=FALSE)

参数 r 是一个数值向量。应评估标记变差函数 gamma(r) 的参数 r 的值。

spruces 数据集的 window 长度为 200m,但变异函数图仅显示直到 50m 的距离,甚至将 r 指定为 [0, 200]。

plot(markvario(longleaf,r=seq(0,200, by=0.5))) marked variogram for spruces

函数 markvario returns class fv 的对象(函数值)。 它实际上是一个带有附加属性的 data.frame。一个属性 告诉 plot 命令(发送给 plot.fv)推荐的绘图 范围。如果您查看打印输出的底部,您会看到 r 从 0 到 200 运行,但推荐范围是 0 到 50。您覆盖 默认使用 xlim 参数:

library(spatstat)
rslt <- markvario(longleaf,r=seq(0,200, by=0.5))
rslt
#> Function value object (class 'fv')
#> for the function r -> gamma(r)
#> ...........................................................................
#>       Math.label               
#> r     r                        
#> theo  {gamma[]^{iid}}(r)       
#> trans {hat(gamma)[]^{trans}}(r)
#> iso   {hat(gamma)[]^{iso}}(r)  
#>       Description                                       
#> r     distance argument r                               
#> theo  theoretical value (independent marks) for gamma(r)
#> trans translation-corrected estimate of gamma(r)        
#> iso   Ripley isotropic correction estimate of gamma(r)  
#> ...........................................................................
#> Default plot formula:  .~r
#> where "." stands for 'iso', 'trans', 'theo'
#> Recommended range of argument r: [0, 50]
#> Available range of argument r: [0, 200]
#> Unit of length: 1 metre
plot(rslt, xlim = c(0, 200))