5 votos

¿Preparar el conjunto de datos para realizar el co-kriging en R gstat?

Es la primera vez que utilizo el co-kriging en gstat . Mi problema es que no estoy seguro de cómo preparar el marco de datos para suministrar al co-kriging cuando la variable de interés y las variables auxiliares no se miden en los mismos lugares.

Marco de datos con la variable de interés ( z_ar ) es 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

Marco de datos con la variable auxiliar ( z_pts ) es 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

Los combiné en un marco de datos para suministrarlos a variogram() y krige() funciones. Dado que ninguna de las ubicaciones es la misma entre voi_gs y aux_gs , introduje NA y los combinó de la siguiente manera:

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

y, a continuación, construir el variograma cruzado:

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

pero la función variograma no acepta valores NA y me da un error. Sé que no puedo tener valores NA en los datos, pero no sé de qué otra forma puedo crear el marco de datos para construir el variograma cruzado.

1voto

Andre Silva Puntos 2910

Encontrará todo lo que necesita en la excelente (y didáctica) nota técnica de Rossiter (2012)*:

Nota técnica: Co-kriging con el paquete gstat del entorno R para la computación estadística.

El co-kriging utilizará diferentes de las funciones con kriging univariante (por ejemplo, kriging ordinario).

Los conjuntos de datos (objetivo y co-variables) deben permanecer en marcos de datos separados, pero dentro del mismo objeto de clase gstat . Y las predicciones (interpolación) se realizan con predict.gstat .

En Rossiter (2012), los capítulos 6 y 7 explican con detalle cómo hacerlo:

  • (6) Modelización de una corregulación bivariante.
  • (7) Co-kriging con una co-variable.

A continuación se muestra el código principal de Rossiter (2012) que aborda la cuestión. Utiliza el meuse como ejemplo:

g <- gstat(NULL, id = "ltpb", form = ltpb ~ 1, data=meuse.pb) #target variable lead (pb).  
g <- gstat(g, id = "ltom", form = ltom ~ 1, data=meuse.co) #co-variable organic matter (om).  
v.cross <- variogram(g) #generate direct variograms and the cross-variogram.  
g <- gstat(g, id = "ltpb", model = m.ltpb.f, fill.all=T) #add variogram models to gstat object. In this case, it has been used the variogram model.   fitted to the target variable in previous chapter, for both target variable and the co-variable as starting points.  
g <- fit.lmc(v.cross, g) #fit theoretical variograms to experimental ones (uses linear model of co-regionalisation).  
k.c <- predict.gstat(g, meuse.grid) #predicts values for target variable in the prediction grid.  

*Rossiter, D.G. 2012. Technical Note: Co-kriging with the gstat package of the R environment for statistical computing. Universidad de Twente, Facultad de Ciencias de la Geoinformación y de la Tierra. Observación (ITC). Enschede (NL). Revisión 2.3. 84p.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X