Asignatura: Estadística Aplicada con Python y R
Tema: Comparación del Efecto de Fertilizantes en el Crecimiento de Cultivos
Imagina que eres un ingeniero agrónomo encargado de un proyecto de agricultura sostenible. Una empresa ha desarrollado dos nuevos biofertilizantes y afirma que son tan buenos o mejores que el fertilizante químico tradicional, pero con un menor impacto ambiental.
Tu misión es diseñar y analizar un experimento para verificar estas afirmaciones. Utilizarás ANOVA para determinar si hay una diferencia significativa en el rendimiento del cultivo entre los fertilizantes. Luego, usarás MANOVA para evaluar el efecto simultáneo sobre el rendimiento y la altura de la planta, dos indicadores clave de la salud del cultivo.
Crear Repositorio en GitHub:
proyecto-anova-fertilizantes
.README.md
y un
.gitignore
para R
.Clonar en Posit Cloud:
Configurar Git:
use_git_config
) y guarda tu
PAT (gitcreds_set
).1. Crear la Carpeta y el Archivo de Datos:
data
.data
, crea un nuevo archivo de texto
(New File
> Text File
) llamado
datos_fertilizantes.csv
.Parcela,Fertilizante,Rendimiento_kg_ha,Altura_cm
1,Control,3200,85
2,Control,3350,88
3,Control,3280,86
4,Control,3100,83
5,Control,3320,89
6,Biofertilizante_A,3600,92
7,Biofertilizante_A,3750,95
8,Biofertilizante_A,3550,91
9,Biofertilizante_A,3680,94
10,Biofertilizante_A,3800,96
11,Biofertilizante_B,3500,94
12,Biofertilizante_B,3450,92
13,Biofertilizante_B,3650,96
14,Biofertilizante_B,3380,91
15,Biofertilizante_B,3550,95
16,Quimico,3700,90
17,Quimico,3820,93
18,Quimico,3900,94
19,Quimico,3650,89
20,Quimico,3880,92
2. Crear el Documento R Markdown:
Crea un nuevo archivo R Markdown (New File
>
R Markdown...
).
Titúlalo “Análisis de Fertilizantes con ANOVA y MANOVA”.
Guárdalo como analisis_anova.Rmd
y borra el
contenido de ejemplo.
Ahora, dentro de tu archivo analisis_anova.Rmd
,
desarrollarás el análisis.
Primero, cargamos las herramientas y visualizamos los datos para entenderlos.
# Cargar librerías para manipulación, visualización y análisis
library(tidyverse)
library(car) # Para la prueba de Levene
# Cargar el dataset
datos <- read_csv("data/datos_fertilizantes.csv")
## Rows: 20 Columns: 4
## ── Column specification ────────────────────────────────────────────────────────
## Delimiter: ","
## chr (1): Fertilizante
## dbl (3): Parcela, Rendimiento_kg_ha, Altura_cm
##
## ℹ Use `spec()` to retrieve the full column specification for this data.
## ℹ Specify the column types or set `show_col_types = FALSE` to quiet this message.
# Convertir la variable 'Fertilizante' a un factor (importante para ANOVA)
datos$Fertilizante <- factor(datos$Fertilizante,
levels = c("Control", "Biofertilizante_A", "Biofertilizante_B", "Quimico"))
# Ver la estructura
str(datos)
## spc_tbl_ [20 × 4] (S3: spec_tbl_df/tbl_df/tbl/data.frame)
## $ Parcela : num [1:20] 1 2 3 4 5 6 7 8 9 10 ...
## $ Fertilizante : Factor w/ 4 levels "Control","Biofertilizante_A",..: 1 1 1 1 1 2 2 2 2 2 ...
## $ Rendimiento_kg_ha: num [1:20] 3200 3350 3280 3100 3320 3600 3750 3550 3680 3800 ...
## $ Altura_cm : num [1:20] 85 88 86 83 89 92 95 91 94 96 ...
## - attr(*, "spec")=
## .. cols(
## .. Parcela = col_double(),
## .. Fertilizante = col_character(),
## .. Rendimiento_kg_ha = col_double(),
## .. Altura_cm = col_double()
## .. )
## - attr(*, "problems")=<externalptr>
# Visualización con Boxplots para comparar los grupos
# Gráfico para Rendimiento
ggplot(datos, aes(x = Fertilizante, y = Rendimiento_kg_ha, fill = Fertilizante)) +
geom_boxplot() +
geom_jitter(width = 0.1, alpha = 0.6) +
labs(title = "Comparación de Rendimiento por Tipo de Fertilizante",
x = "Tipo de Fertilizante",
y = "Rendimiento (kg/ha)") +
theme_minimal()
# Gráfico para Altura
ggplot(datos, aes(x = Fertilizante, y = Altura_cm, fill = Fertilizante)) +
geom_boxplot() +
geom_jitter(width = 0.1, alpha = 0.6) +
labs(title = "Comparación de Altura por Tipo de Fertilizante",
x = "Tipo de Fertilizante",
y = "Altura Promedio (cm)") +
theme_minimal()
Observación Preliminar: Los boxplots sugieren que el
grupo “Control” tiene un rendimiento y altura menores que los grupos con
fertilizantes. El “Biofertilizante A” y el “Químico” parecen ser los más
efectivos. ````
Aquí respondemos la primera pregunta: ¿Afecta el tipo de fertilizante al rendimiento del cultivo?
Hipótesis del ANOVA:
\(H_0\) (Hipótesis Nula): No hay diferencia significativa entre los rendimientos promedio de los cuatro grupos. (\(\mu_{control} = \mu_{bioA} = \mu_{bioB} = \mu_{quimico}\))
\(H_a\) (Hipótesis Alternativa): Al menos un grupo tiene un rendimiento promedio significativamente diferente.
1. Verificación de Supuestos del ANOVA
Homogeneidad de Varianzas (Prueba de Levene):
leveneTest(Rendimiento_kg_ha ~ Fertilizante, data = datos)
<script data-pagedtable-source type="application/json">
{“columns”:[{“label”:[“”],“name”:[“rn”],“type”:[“”],“align”:[“left”]},{“label”:[“Df”],“name”:[1],“type”:[“int”],“align”:[“right”]},{“label”:[“F
value”],“name”:[2],“type”:[“dbl”],“align”:[“right”]},{“label”:[“Pr(>F)”],“name”:[3],“type”:[“dbl”],“align”:[“right”]}],“data”:[{“1”:“3”,“2”:“0.04447439”,“3”:“0.9870663”,“rn”:“group”},{“1”:“16”,“2”:“NA”,“3”:“NA”,“rn”:““}],“options”:{“columns”:{“min”:{},“max”:[10]},“rows”:{“min”:[10],“max”:[10]},“pages”:{}}}
Si el p-valor (Pr(>F)
) es mayor a 0.05, asumimos que
las varianzas son iguales.
2. Ejecución del Modelo ANOVA
modelo_anova <- aov(Rendimiento_kg_ha ~ Fertilizante, data = datos)
summary(modelo_anova)
## Df Sum Sq Mean Sq F value Pr(>F)
## Fertilizante 3 826455 275485 25.36 2.55e-06 ***
## Residuals 16 173840 10865
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación del ANOVA:
Observamos el p-valor (Pr(>F)
) en la tabla de
resultados. Si es muy pequeño (típicamente < 0.05), rechazamos la
hipótesis nula.
Esto significa que hay evidencia estadística de que el tipo de fertilizante sí afecta el rendimiento.
3. Prueba Post-Hoc (Tukey HSD)
El ANOVA nos dice que hay diferencias, pero no entre qué pares. La prueba de Tukey nos lo dirá.
TukeyHSD(modelo_anova)
## Tukey multiple comparisons of means
## 95% family-wise confidence level
##
## Fit: aov(formula = Rendimiento_kg_ha ~ Fertilizante, data = datos)
##
## $Fertilizante
## diff lwr upr p adj
## Biofertilizante_A-Control 426 237.38956 614.61044 0.0000423
## Biofertilizante_B-Control 256 67.38956 444.61044 0.0064980
## Quimico-Control 540 351.38956 728.61044 0.0000022
## Biofertilizante_B-Biofertilizante_A -170 -358.61044 18.61044 0.0849586
## Quimico-Biofertilizante_A 114 -74.61044 302.61044 0.3416364
## Quimico-Biofertilizante_B 284 95.38956 472.61044 0.0027380
Interpretación de Tukey HSD:
La tabla muestra la comparación de todos los pares de grupos. Fíjate
en la columna p adj
.
Si el valor es < 0.05, la diferencia entre ese par es estadísticamente significativa.
Por ejemplo, podrás confirmar si “Biofertilizante_A” es significativamente mejor que “Control”, pero no necesariamente diferente del “Químico”.
Ahora respondemos la pregunta más compleja:
¿Afecta el tipo de fertilizante al conjunto de variables (rendimiento y altura) de forma simultánea?
Hipótesis del MANOVA:
\(H_0\) (Hipótesis Nula): Los vectores de medias de (Rendimiento, Altura) son iguales para todos los tipos de fertilizante.
\(H_a\) (Hipótesis Alternativa): Al menos un grupo tiene un vector de medias significativamente diferente.
# Creamos una matriz con las variables dependientes
variables_dependientes <- cbind(datos$Rendimiento_kg_ha, datos$Altura_cm)
# Ejecutamos el modelo MANOVA
modelo_manova <- manova(variables_dependientes ~ Fertilizante, data = datos)
# Usamos summary para obtener los resultados con la prueba de Pillai
summary(modelo_manova, test = "Pillai")
## Df Pillai approx F num Df den Df Pr(>F)
## Fertilizante 3 1.6727 27.261 6 32 2.893e-11 ***
## Residuals 16
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Interpretación del MANOVA:
El resultado clave es el p-valor (Pr(>F)
) de la
prueba de Pillai.
Si es < 0.05, rechazamos la hipótesis nula.
Concluimos que el tipo de fertilizante tiene un efecto multivariado significativo sobre las características del cultivo.
Esto refuerza nuestros hallazgos, mostrando que el efecto no se limita a una sola variable, sino al perfil de crecimiento general de la planta.
1. Escribir las Conclusiones:
Basado en el ANOVA y la prueba de Tukey, ¿qué fertilizante recomendarías para maximizar el rendimiento?
¿Hay alguna diferencia significativa entre el mejor biofertilizante y el fertilizante químico?
¿Qué información adicional te aportó el MANOVA?
2. Generar el Reporte:
3. Sincronizar con GitHub ✅:
Ve a la pestaña Git.
Stage: Marca todos los archivos nuevos
(.Rmd
, .html
, etc.).
Commit: Escribe un mensaje claro, como
Análisis ANOVA y MANOVA de fertilizantes completado
.
Push: Envía tu trabajo finalizado a tu repositorio en GitHub.
¡Excelente trabajo! Has aplicado dos técnicas estadísticas muy potentes para resolver un problema de ingeniería real y documentado todo el proceso de forma reproducible.