1. Se genera la grilla
# Crear un dataframe con todas las combinaciones de x e y
xy <- expand.grid(x = 1:90, y = c(1:5, 7:11))

# Asignar NA a la columna 'lote'
xy$lote <- NA

# Asignar los valores 'v1-a', 'v2-a', 'v1-b', 'v2-b' a la columna 'lote' según las condiciones
xy$lote[(xy$x %in% 1:60) & (xy$y %in% 1:5)] = 'v1-a'
xy$lote[(xy$x %in% 61:90) & (xy$y %in% 1:5)] = 'v2-a'
xy$lote[(xy$x %in% 1:60) & (xy$y %in% 7:11)] = 'v1-b'
xy$lote[(xy$x %in% 61:90) & (xy$y %in% 7:11)] = 'v2-b'

# Cargar la librería ggplot2
library(ggplot2)

# Crear un gráfico de mosaico
graf_lote <- ggplot(subset(xy, lote != 'corredor'), aes(x, y, fill = lote)) +
  geom_tile(color = 'white')

# Mostrar el gráfico
graf_lote

2. Generar el dataframe con la información

set.seed(2023) 
variedad = gl (2,450,900, labels= c("varl", "var2")) 
fen = gl(3,150,900, labels = c("t45","t60","t75"))

trips = round(runif(900,0,0.65) ,0)

hongos = round(runif(900,0,0.52),0)

babosa = round(runif(900,0,0.54),0) 

ndvi = sort(runif(900,0.66,0.80)) 

dtf = data.frame(xy, variedad, fen, trips, hongos, babosa,ndvi)
head(dtf)
##   x y lote variedad fen trips hongos babosa      ndvi
## 1 1 1 v1-a     varl t45     0      0      0 0.6600311
## 2 2 1 v1-a     varl t45     0      0      0 0.6601382
## 3 3 1 v1-a     varl t45     0      0      0 0.6602370
## 4 4 1 v1-a     varl t45     0      0      0 0.6603966
## 5 5 1 v1-a     varl t45     0      0      0 0.6604848
## 6 6 1 v1-a     varl t45     0      0      0 0.6609047

3.Agregando la columna del ID

library(dplyr)
## 
## Attaching package: 'dplyr'
## The following objects are masked from 'package:stats':
## 
##     filter, lag
## The following objects are masked from 'package:base':
## 
##     intersect, setdiff, setequal, union
dtf <- dtf %>% mutate(ID = row_number())
  1. Tomando la muestra con el hipercubo latino
library(clhs)
## The legacy packages maptools, rgdal, and rgeos, underpinning this package
## will retire shortly. Please refer to R-spatial evolution reports on
## https://r-spatial.org/r/2023/05/15/evolution4.html for details.
## This package is now running under evolution status 0
res <- clhs(dtf, size = 50, progress = FALSE, simple = F)
## Warning: NAs introducidos por coerción
muest<-res$sampled_data
head(muest)
##      x  y lote variedad fen trips hongos babosa      ndvi  ID
## 473 23  7 v1-b     var2 t45     1      0      0 0.7301107 473
## 145 55  2 v1-a     varl t45     0      0      1 0.6806631 145
## 58  58  1 v1-a     varl t45     1      0      0 0.6696731  58
## 779 59 10 v1-b     var2 t75     1      0      0 0.7813405 779
## 899 89 11 v2-b     var2 t75     1      0      0 0.7999024 899
## 234 54  3 v1-a     varl t60     1      0      1 0.6938239 234
  1. Agregando el ID en el dataframe de muestra
muest <- muest %>% mutate(ID = rownames(.))

6.Agregando la columna de muestra

df_final <- merge(dtf, muest, by = "ID", all.x = TRUE)
  1. Graficando las muestras
graf_muestra <- ggplot(subset(df_final, lote.x != 'corredor'), aes(x.x, y.x, fill = lote.x)) +
  geom_tile(color = 'white') +
  geom_point(data = subset(df_final, x.y != 'NA'), color = "red", size = 2 ) +
  labs(x = "X", y = "Y", title = "Gráfico de muestras")
graf_muestra

7. Graficando la presencia de trips

graf_trips <- ggplot(subset(df_final, lote.x != 'corredor'), aes(x.x, y.x, fill = lote.x)) +
  geom_tile(color = 'white') +
  geom_point(data = subset(df_final, x.y != 'NA'), color = "red", size = 2 ) +
  geom_text(data = subset(df_final, trips.x == 1), label = "*", color = "black", size = 5)+
  labs(x = "X", y = "Y", title = "Gráfico de presencia de trips")

graf_trips

8. Grafico de hongos

graf_hong <- ggplot(subset(df_final, lote.x != 'corredor'), aes(x.x, y.x, fill = lote.x)) +
  geom_tile(color = 'white') +
  geom_point(data = subset(df_final, x.y != 'NA'), color = "red", size = 2 ) +
  geom_text(data = subset(df_final, hongos.x == 1), label = "*", color = "black", size = 5)+
  labs(x = "X", y = "Y", title = "Gráfico de presencia de hongos")

graf_hong

9. Grafico de presencia de babosas

graf_babosa <- ggplot(subset(df_final, lote.x != 'corredor'), aes(x.x, y.x, fill = lote.x)) +
  geom_tile(color = 'white') +
  geom_point(data = subset(df_final, x.y != 'NA'), color = "red", size = 2 ) +
  geom_text(data = subset(df_final, babosa.x == 1), label = "*", color = "black", size = 5)+
  labs(x = "X", y = "Y", title = "Gráfico de presencia de babosa")

graf_babosa

10. Realizando el gráfico de NDVI

graf_ndvi <- ggplot(subset(df_final, lote.x != 'corredor'), aes(x.x, y.x, fill = ndvi.x)) +
  geom_tile(color = 'white') +
  geom_point(data = subset(df_final, x.y != 'NA'), color = "red", size = 2 ) +
  scale_fill_gradient(low = "lightblue", high = "darkblue") +
  labs(x = "X", y = "Y", title = "Gráfico de NDVI")
graf_ndvi

## Estadistica descriptiva por variedades

  1. Información obtenida por el censo
# Calcular el conteo total de las variables trips, babosas y hongos por variedad
conteo_total <- aggregate(cbind(trips.x, babosa.x, hongos.x) ~ lote.x, data = df_final, FUN = sum)

# Mostrar el conteo total por variedad
print(conteo_total)
##   lote.x trips.x babosa.x hongos.x
## 1   v1-a      82       15       12
## 2   v1-b      60       18       19
## 3   v2-a      27        9        0
## 4   v2-b      24       13        4

Proporciones

prop<-conteo_total[,2:4]*(1/9)
prop
##    trips.x babosa.x  hongos.x
## 1 9.111111 1.666667 1.3333333
## 2 6.666667 2.000000 2.1111111
## 3 3.000000 1.000000 0.0000000
## 4 2.666667 1.444444 0.4444444
  1. Información obtenida apartir del muestreo
# Calcular el conteo total de las variables trips, babosas y hongos por variedad
conteo_total2 <- aggregate(cbind(trips.y, babosa.y, hongos.y) ~ lote.x, data = df_final, FUN = sum)

# Mostrar el conteo total por variedad
print(conteo_total2)
##   lote.x trips.y babosa.y hongos.y
## 1   v1-a       7        3        2
## 2   v1-b       6        3        2
## 3   v2-a       2        1        0
## 4   v2-b       4        1        1

proporciones

prop2<-conteo_total2[,2:4]*(2)
prop2
##   trips.y babosa.y hongos.y
## 1      14        6        4
## 2      12        6        4
## 3       4        2        0
## 4       8        2        2

Diferencia entre las propociones

dif<-abs((prop/prop2)-1)
dif
##     trips.x  babosa.x  hongos.x
## 1 0.3492063 0.7222222 0.6666667
## 2 0.4444444 0.6666667 0.4722222
## 3 0.2500000 0.5000000       NaN
## 4 0.6666667 0.2777778 0.7777778

Conclusiones

A partir de los datos de muestreo se llega a sobreestimar la presencia de plagas y enfermedades. Sin embargo, la cobertura de los 50 puntos es suficiente para no omitir los ceros reales.

Revisión del NDVI

  1. Promedio a partir de todos los datos
prom_ndvi <- aggregate((ndvi.x) ~ lote.x, data = df_final, FUN = mean)

print(prom_ndvi)
##   lote.x  (ndvi.x)
## 1   v1-a 0.6915063
## 2   v1-b 0.7607734
## 3   v2-a 0.6981323
## 4   v2-b 0.7683512
  1. Promedio a partir del muestreo
prom_ndvi2 <- aggregate((ndvi.y) ~ lote.x, data = df_final, FUN = mean)

print(prom_ndvi2)
##   lote.x  (ndvi.y)
## 1   v1-a 0.6892530
## 2   v1-b 0.7614710
## 3   v2-a 0.7033327
## 4   v2-b 0.7663852

Conclusiones

Las 50 muestras permitieron estimar un valor de NDVI similar al valor obtenido por el censo.

El muestreo por hipercubolátino fue bastante adecuado para la variables continua, sin embargo, en variables de conteo puede generar que hallan sobre estimaciones.