# 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())
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
muest <- muest %>% mutate(ID = rownames(.))
6.Agregando la columna de muestra
df_final <- merge(dtf, muest, by = "ID", all.x = TRUE)
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
# 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
# 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
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.
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
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
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.