Ejercicio: efecto de pesticidas en la supervivencia de larvas de Aedes aegypti
Autor/a
Francisco Jeronimo G
Fecha de publicación
6 de febrero de 2026
Introducción
Análisis de un experimento diseñado para evaluar la efectividad de dos pesticidas (A y B) en comparación con un control, sobre la supervivencia de larvas de Aedes aegypti.
Factor 1: Tratamiento (3 niveles: Control, Pesticida A, Pesticida B).
Factor 2: Territorio (Bloque) (3 niveles: prístino, uso medio, muy alterado).
Unidad Experimental: Larvas obtenidas de adultos capturados de territorios distintos.
Modelo estadistico
\(Supervivencia_ij = µ + α_i + β_j + ε_ij\)
µ: Media general.
α_i: Efecto de los tratamientos (i = Control, A, B).
β_j: Efecto del territorio (j = prístino, medio, alterado).
ε_ij: Error experimental
Hipotesis
Hipótesis nula (H₀): No existen diferencias en la supervivencia media de las larvas entre los tratamientos (Control, Pesticida A, Pesticida B).
\(H0:α1=α2=α3\)
Hipótesis alternativa (H₁): Al menos uno de los tratamientos produce un efecto diferente en la supervivencia.
Datos
Código
# Crear el conjunto de datos con los valores del experimentodatos_experimento <-data.frame(Tratamiento =c("Control", "Pesticida_A", "Pesticida_B", "Control", "Pesticida_A", "Pesticida_B","Control", "Pesticida_A", "Pesticida_B"),Territorio =c("Prístino", "Prístino", "Prístino","Uso_medio", "Uso_medio", "Uso_medio","Muy_alterado", "Muy_alterado", "Muy_alterado"),Supervivencia =c(77.20, 58.85, 57.79, # Prístino80.35, 60.65, 58.58, # Uso medio82.30, 53.67, 46.57) # Muy alterado)# Convertir a factores (variables categóricas)datos_experimento$Tratamiento <-factor(datos_experimento$Tratamiento,levels =c("Control", "Pesticida_A", "Pesticida_B"))datos_experimento$Territorio <-factor(datos_experimento$Territorio,levels =c("Prístino", "Uso_medio", "Muy_alterado"))# Mostrar los primeros datoscat("=== DATOS DEL EXPERIMENTO ===\n")
=== DATOS DEL EXPERIMENTO ===
Código
print(datos_experimento)
Tratamiento Territorio Supervivencia
1 Control Prístino 77.20
2 Pesticida_A Prístino 58.85
3 Pesticida_B Prístino 57.79
4 Control Uso_medio 80.35
5 Pesticida_A Uso_medio 60.65
6 Pesticida_B Uso_medio 58.58
7 Control Muy_alterado 82.30
8 Pesticida_A Muy_alterado 53.67
9 Pesticida_B Muy_alterado 46.57
Código
cat("\n=== RESUMEN ESTADÍSTICO ===\n")
=== RESUMEN ESTADÍSTICO ===
Código
summary(datos_experimento)
Tratamiento Territorio Supervivencia
Control :3 Prístino :3 Min. :46.57
Pesticida_A:3 Uso_medio :3 1st Qu.:57.79
Pesticida_B:3 Muy_alterado:3 Median :58.85
Mean :64.00
3rd Qu.:77.20
Max. :82.30
Grafico
Código
# Configurar área de gráficos: 2 filas, 3 columnaspar(mfrow =c(2, 3), mar =c(4, 4, 3, 1))# 1. Boxplot por tratamientoboxplot(Supervivencia ~ Tratamiento, data = datos_experimento,col =c("lightgreen", "orange", "coral"),main ="A) Por Tratamiento",ylab ="Supervivencia (%)",ylim =c(40, 90))# 2. Boxplot por territorio boxplot(Supervivencia ~ Territorio, data = datos_experimento,col =c("lightblue", "lightyellow", "pink"),main ="B) Por Territorio",ylab ="Supervivencia (%)",ylim =c(40, 90))# 3. Diagrama de puntos coloreadosplot(1:9, datos_experimento$Supervivencia,pch =19, cex =1.5,col =as.numeric(datos_experimento$Tratamiento),xlab ="Observación", ylab ="Supervivencia (%)",main ="C) Todos los datos",ylim =c(40, 90))legend("bottomright", legend =levels(datos_experimento$Tratamiento),col =1:3, pch =19, bty ="n")# 4. Gráfico de interacción (tendencias)interaction.plot(datos_experimento$Tratamiento, datos_experimento$Territorio, datos_experimento$Supervivencia,type ="b", col =1:3, pch =16:18,xlab ="Tratamiento", ylab ="Supervivencia Media (%)",trace.label ="Territorio",main ="D) Tendencias")# 5. Gráfico de barras por tratamientomedias_trat <-tapply(datos_experimento$Supervivencia, datos_experimento$Tratamiento, mean)barplot(medias_trat,col =c("lightgreen", "orange", "coral"),ylim =c(0, 90),main ="E) Medias por Tratamiento",ylab ="Supervivencia (%)")# 6. Gráfico de barras por territoriomedias_terr <-tapply(datos_experimento$Supervivencia, datos_experimento$Territorio, mean)barplot(medias_terr,col =c("lightblue", "lightyellow", "pink"),ylim =c(0, 90),main ="F) Medias por Territorio",ylab ="Supervivencia (%)")
Anova sin tomar en cuenta la interacción
Código
# ANOVA de dos vías sin interacciónmodelo_anova <-aov(Supervivencia ~ Tratamiento + Territorio, data = datos_experimento)cat("=== ANOVA DE DOS VÍAS SIN INTERACCIÓN ===\n")
=== ANOVA DE DOS VÍAS SIN INTERACCIÓN ===
Código
print(summary(modelo_anova))
Df Sum Sq Mean Sq F value Pr(>F)
Tratamiento 2 1162.9 581.4 29.200 0.00411 **
Territorio 2 50.1 25.1 1.258 0.37677
Residuals 4 79.6 19.9
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
p_valor_trat <-summary(modelo_anova)[[1]]["Tratamiento", "Pr(>F)"]p_valor_terr <-summary(modelo_anova)[[1]]["Territorio", "Pr(>F)"]if(p_valor_trat <0.05) {cat("1. El TRATAMIENTO tiene un efecto SIGNIFICATIVO (p =", format(p_valor_trat, digits =3), ")\n")} else {cat("1. El TRATAMIENTO NO tiene efecto significativo\n")}
1. El TRATAMIENTO tiene un efecto SIGNIFICATIVO (p = 0.00411 )
Código
if(p_valor_terr <0.05) {cat("2. El TERRITORIO tiene un efecto SIGNIFICATIVO (p =", format(p_valor_terr, digits =3), ")\n")} else {cat("2. El TERRITORIO NO tiene efecto significativo (p =", format(p_valor_terr, digits =3), ")\n")}
2. El TERRITORIO NO tiene efecto significativo (p = 0.377 )
Código
cat("=== Tuckey para ver difernecias entre tratamientos ===\n\n")
=== Tuckey para ver difernecias entre tratamientos ===
Código
# Diferencias en los tratamientostukey_result <-TukeyHSD(modelo_anova, "Tratamiento")print(tukey_result)