【发布时间】:2018-10-06 12:27:42
【问题描述】:
这是我第一次在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_pts的数据框是aux_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 值,但我不知道我还能如何创建数据框来构造交叉变异函数。非常感谢任何帮助。谢谢。
【问题讨论】: