0

这是我第一次在gstat. 我的问题是,当感兴趣的变量和辅助变量不在同一位置测量时,我不确定如何准备数据框以提供给联合克里金法。

具有感兴趣变量的数据框z_ar, 是voi_gs

> head(voi_gs)
             x        y     z_ar
8974  312216.6 530439.8 49.03470
8283  312084.6 530559.8 57.15355
5057  311772.6 530883.8 49.13453
1551  311976.6 531207.8 44.73679
10116 312168.6 530163.8 50.45549
6155  312528.6 530787.8 62.70750

带有辅助变量 的数据框z_ptsaux_gs

> head(aux_gs)
            x        y    z_pts
9564 312198.6 530313.8 75.91368
6584 311766.6 530745.8 38.87462
2138 311562.6 531153.8 58.62555
9110 312534.6 530421.8 68.35654
9525 312366.6 530325.8 54.26653
7497 311442.6 530649.8 38.95024

我将它们组合成一个数据框来提供variogram()krige()功能。voi_gs由于和之间的位置都不相同aux_gs,因此我引入了NA值并按以下方式组合它们

> aux_gs$z_ar=NA
> voi_gs$z_pts=NA
> comb_gs=rbind(aux_gs,voi_gs)
> head(comb_gs)
            x        y    z_pts z_ar
9564 312198.6 530313.8 75.91368   NA
6584 311766.6 530745.8 38.87462   NA
2138 311562.6 531153.8 58.62555   NA
9110 312534.6 530421.8 68.35654   NA
9525 312366.6 530325.8 54.26653   NA
7497 311442.6 530649.8 38.95024   NA
> tail(comb_gs)
            x        y z_pts     z_ar
180  312468.6 531363.8    NA 70.54528
8633 312264.6 530511.8    NA 44.34631
7694 312492.6 530631.8    NA 57.30173
1079 312108.6 531255.8    NA 46.96482
2230 311124.6 531135.8    NA 40.36449
2201 312312.6 531147.8    NA 44.85896

然后我尝试构建交叉变异函数

> coordinates(comb_gs) = ~x+y
> g = gstat(formula=z_pts~z_ar, data=comb_gs)
> vg = variogram(g)

但变异函数不接受 NA 值并给我一个错误。我知道我不能NA在数据中包含值,但我不知道如何创建数据框来构造交叉变异函数。非常感谢任何帮助。谢谢。

4

1 回答 1

0

想到的两个想法是同步数据点或单独克里金,对克里金表面进行采样和从样本中联合克里金。

如果您的点分布相似,那么您可能会选择某个最大分离距离内的所有点并将它们组合为一个样本。这假设点的一般模式是相似的,即坐标不一样,但从辅助变量中的点到最近的邻居往往比响应变量中的最近的邻居更近。

相反,如果您的点都随机分布在相似区域中,彼此之间几乎没有关系(在空间上,不一定是响应明智的),那么也许从变量中制作单独的克里格曲面,然后对克里格曲面进行采样将为您提供工作数据模型。

于 2018-04-26T00:01:09.907 回答