Importación de datos y librerías
## --------------------------------------------------------------
## Analysis of Geostatistical Data
## For an Introduction to geoR go to http://www.leg.ufpr.br/geoR
## geoR version 1.9-5 (built on 2025-04-25) is now loaded
## --------------------------------------------------------------
## Cargando paquete requerido: raster
## Cargando paquete requerido: sp
## Cargando paquete requerido: RColorBrewer
## Cargando paquete requerido: rasterVis
## Cargando paquete requerido: lattice
df_aguacate <- read_excel("C:/Users/Fabio/OneDrive/Desktop/Analisis de informacion geografica y espacial/Actividad 3/Datos_Completos_Aguacate.xlsx", sheet = "Hoja1")
# Ver las primeras filas
head(df_aguacate)
## # A tibble: 6 × 21
## id_arbol Latitude Longitude FORMATTED_DATE_TIME Psychro_Wet_Bulb_Temp…¹
## <dbl> <dbl> <dbl> <chr> <dbl>
## 1 1 2.39 -76.7 01/10/2020 10:11:12 a, m, 22
## 2 2 2.39 -76.7 01/10/2020 10:11:12 a, m, 21.4
## 3 3 2.39 -76.7 01/10/2020 10:11:12 a, m, 21.8
## 4 4 2.39 -76.7 01/10/2020 10:11:12 a, m, 22.8
## 5 5 2.39 -76.7 01/10/2020 10:11:12 a, m, 22.6
## 6 6 2.39 -76.7 01/10/2020 10:11:12 a, m, 21.5
## # ℹ abbreviated name: ¹Psychro_Wet_Bulb_Temperature
## # ℹ 16 more variables: Station_Pressure <dbl>, Relative_Humidity <dbl>,
## # Crosswind <dbl>, Temperature <dbl>, Barometric_Pressure <dbl>,
## # Headwind <dbl>, Direction_True <dbl>, Direction_Mag <dbl>,
## # Wind_Speed <dbl>, Heat_Stress_Index <dbl>, Altitude <dbl>, Dew_Point <dbl>,
## # Density_Altitude <dbl>, Wind_Chill <dbl>,
## # Estado_Fenologico_Predominante <dbl>, Frutos_Afectados <dbl>
Ubicación de los árboles
leaflet() %>% addTiles() %>% addCircleMarkers(lng = df_aguacate$Longitude,lat = df_aguacate$Latitude,radius = 0.2,color = "#00FF7F")
Geoestadística (Utilizando humedad relativa)
geo_humidity=as.geodata(df_aguacate,coords.col = 3:2,data.col = 7)
plot(geo_humidity)

Ajuste del modelo de semivarianza
Exponencial
ini.vals = expand.grid(seq(1.2,1.5,l=10), seq(0.0001,0.0008,l=10))
model_mco_exp=variofit(variograma, ini=ini.vals, cov.model="exponential", wei="npair", min="optim")
## variofit: covariance model used is exponential
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "1.5" "0" "0" "0.5"
## status "est" "est" "est" "fix"
## loss value: 79943605.5291828
Gaussiano
model_mco_gaus=variofit(variograma, ini=ini.vals, cov.model="gaussian", wei="npair", min="optim",nugget = 0)
## variofit: covariance model used is gaussian
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "1.5" "0" "0" "0.5"
## status "est" "est" "est" "fix"
## loss value: 79800648.8865934
Esférico
model_mco_spe=variofit(variograma, ini=ini.vals, cov.model="spheric", fix.nug=TRUE, wei="npair", min="optim")
## variofit: covariance model used is spherical
## variofit: weights used: npairs
## variofit: minimisation function used: optim
## variofit: searching for best initial value ... selected values:
## sigmasq phi tausq kappa
## initial.value "1.5" "0" "0" "0.5"
## status "est" "est" "fix" "fix"
## loss value: 79709674.5251993
plot(variograma)
lines(model_mco_exp,col="blue")
lines(model_mco_gaus,col="red")
lines(model_mco_spe,col="purple")

model_mco_exp
## variofit: model parameters estimated by WLS (weighted least squares):
## covariance model is: exponential
## parameter estimates:
## tausq sigmasq phi
## 13.0815 14.2206 0.0000
## Practical Range with cor=0.05 for asymptotic range: 0.0001159668
##
## variofit: minimised weighted sum of squares = 2896520
model_mco_gaus
## variofit: model parameters estimated by WLS (weighted least squares):
## covariance model is: gaussian
## parameter estimates:
## tausq sigmasq phi
## 12.9765 14.3256 0.0000
## Practical Range with cor=0.05 for asymptotic range: 0.0001159668
##
## variofit: minimised weighted sum of squares = 2896520
model_mco_spe
## variofit: model parameters estimated by WLS (weighted least squares):
## covariance model is: spherical
## fixed value for tausq = 0
## parameter estimates:
## sigmasq phi
## 27.3021 0.0000
## Practical Range with cor=0.05 for asymptotic range: 0
##
## variofit: minimised weighted sum of squares = 2896520
El modelo Esférico es el que mejor explica la estructura espacial de
la humedad relativa, ya que tiene el menor valor de pérdida (loss value
= 79,709,674.53). Esto indica que su forma teórica se ajusta mejor al
variograma empírico de los datos observados. El modelo esférico es
comúnmente utilizado cuando se espera una variabilidad limitada a cierta
distancia (efecto de alcance definido), lo cual parece concordar con la
distribución de la humedad en este caso.
Predicción espacial (Interpolación)
#Creamos una grilla de predicción
x.range <- seq(min(df_aguacate$Longitude), max(df_aguacate$Longitude), length.out = 100)
y.range <- seq(min(df_aguacate$Latitude), max(df_aguacate$Latitude), length.out = 100)
grid_pred <- expand.grid(Longitud = x.range, Latitud = y.range)
plot(grid_pred)
points(df_aguacate[,3:2],col="red")

geodatos_ko=krige.conv(geo_humidity, loc=grid_pred,
krige= krige.control(nugget=0,trend.d="cte",
trend.l="cte",cov.pars=c(sigmasq=27.3021, phi=0.0001 )))
## krige.conv: model with constant mean
## krige.conv: Kriging performed using global neighbourhood
par(mfrow=c(1,2))
image(geodatos_ko, main="kriging Predict", xlab="East", ylab="North")

contour(geodatos_ko,main="kriging Predict", drawlabels=TRUE)

image(geodatos_ko, main="kriging StDv Predicted",val=sqrt(geodatos_ko$krige.var), xlab="East", ylab="North")

contour(geodatos_ko,main="kriging StDv Predicted", val=sqrt(geodatos_ko$krige.var), drawlabels=TRUE)

El análisis de kriging ordinario con el modelo esferico permitió
generar una predicción espacial continua de la humedad relativa a partir
de mediciones puntuales, revelando patrones bien definidos de variación
en la parcela de estudio. Las representaciones gráficas, tanto en forma
de mapa de calor como de curvas de nivel, evidencian zonas con mayores
concentraciones de humedad, lo que sugiere la presencia de condiciones
microclimáticas o edáficas particulares. Este tipo de interpolación
espacial resulta valioso para la toma de decisiones en agricultura de
precisión, facilitando la identificación de áreas que requieren
intervenciones específicas para un manejo más eficiente del recurso
hídrico.
Conclusión
La actividad permitió aplicar técnicas de geoestadística, como el
Kriging, para estimar espacialmente una variable ambiental como la
humedad, generando representaciones continuas a partir de datos
puntuales. A través del procesamiento y visualización en formato raster,
se evidenció la utilidad de estos métodos para identificar patrones
espaciales y zonas críticas. Los resultados obtenidos no solo
facilitaron una mejor comprensión del comportamiento de la variable
analizada, sino que también demostraron el valor del análisis espacial
en procesos de toma de decisiones informadas en contextos ambientales y
territoriales.