这是我第一次在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
个值,但我不知道如何创建数据框来构造交叉变异函数。任何帮助都非常感谢。感谢。
答案 0 :(得分:0)
我想到的两个想法是分别同步数据点或克里金法,对样本中的kriged曲面和co-kriging进行采样。
如果您的点数分布相似,那么您可能会选择一些最大间隔距离内的所有点并将它们组合为单个样本。这假设点的一般模式是相似的,即坐标不相同,但是辅助变量中的点的最近邻居往往比响应变量中的最近邻居更近。
相反,如果你的点都是随机分布在一个彼此很少或没有关系的相似区域(空间上,不一定是响应方式),那么也许从变量中制作单独的kriged曲面然后对kriged曲面进行采样将提供你有一个工作数据模型。