Pipeline Automatizado de ANOVA · Dr. Jorge Cruz-Angeles
Replit es el entorno donde vas a correr tu código Python esta sesión. Tiene dos áreas que necesitas conocer: el editor de código y la Shell (terminal).
La Shell es la ventana de texto donde puedes escribir comandos directamente. En Replit la encuentras en la pestaña "Shell" (en la parte inferior o en el panel lateral derecho, dependiendo de tu vista).
Con la Shell abierta, escribe:
Verás el output en tiempo real: estadísticas descriptivas, resultados de supuestos, la prueba ANOVA y las comparaciones post-hoc.
Cuando el script termine, habrá generado dos archivos nuevos en tu proyecto:
reporte_anova.html — el reporte completoanova_concentracion_inhibicion_mm.png — las gráficasLos verás en el árbol de archivos (panel izquierdo de Replit). Para ver el HTML de forma correcta → ir a la Sección 3 de esta guía.
Cuando corras el script por primera vez en un Repl nuevo, muy probablemente verás esto:
¿Qué significa esto?
Python sabe correr código, pero necesita "plugins" externos (llamados librerías)
para hacer estadística avanzada, gráficas y más. El Repl nuevo no los tiene instalados aún.
scipy, pandas, matplotlib… hay que decirle que los descargue.
En la Shell, pega este comando y presiona Enter:
Verás que empieza a descargar e instalar. Puede tardar entre 30 segundos y 2 minutos. Al terminar, verás algo como:
.pythonlibs/).
La próxima vez que abras el mismo Repl, ya estarán listas.
Solo necesitas reinstalar si creas un Repl nuevo.
pandas — leer y manipular datos (tablas CSV)scipy — pruebas estadísticas (ANOVA, Shapiro-Wilk, Levene…)matplotlib — gráficas (boxplots, barras)statsmodels — post-hoc Tukey HSDseaborn — gráficas estadísticas bonitas
El script genera un archivo reporte_anova.html.
No puedes hacer doble clic para abrirlo directamente en Replit
(no es un archivo de texto, es una página web).
El truco es levantar un servidor web local dentro del Repl.
En la Shell, escribe:
Verás:
El servidor está corriendo. No cierres esa ventana de Shell.
Replit detecta automáticamente que hay un servidor en el puerto 8000 y te muestra un botón o una URL en la parte superior. Se ve así:
Ábrela en una pestaña nueva del navegador.
Verás el directorio de archivos de tu proyecto.
Haz clic en reporte_anova.html para ver el reporte.
Cuando termines de revisar el HTML, regresa a la Shell y presiona:
Ahora puedes seguir corriendo comandos normales en esa Shell.
python3 anova_pipeline.py
→ genera HTML → correr servidor → python3 -m http.server 8000
→ abrir URL → ver reporte → Ctrl+C para parar servidor.
La clase ANOVAPipeline automatiza el análisis completo de ANOVA
en una secuencia de pasos. Cada paso es un método de la clase.
Aquí entiendes qué hace cada uno — sin ver el código completo.
__init__() — Constructor / Carga de datos
Lee el CSV, identifica el factor y la variable de respuesta,
divide los datos en grupos. Recibe: archivo_csv,
factor, respuesta, alpha.
descriptivas() — Estadísticas descriptivas
Calcula n, media, desviación estándar, mínimo y máximo
por grupo. Primer vistazo a los datos.
validar_supuestos() — Supuestos de ANOVA
Prueba de Shapiro-Wilk (normalidad por grupo)
y prueba de Levene (igualdad de varianzas).
Si la normalidad falla, el pipeline usará Kruskal-Wallis en lugar de ANOVA.
correr_analisis() — Prueba principal
Si supuestos OK → ANOVA de Fisher (f_oneway).
Si normalidad falla → Kruskal-Wallis.
Produce: estadístico F (o H) y p-valor.
post_hoc() — Comparaciones múltiples
Si hay diferencia significativa Y los datos son paramétricos →
aplica Tukey HSD para comparar todos los pares de grupos.
Produce p-valores ajustados (p_adj) para cada par.
visualizar() — Gráficas
Genera un boxplot (distribución por grupo)
y una gráfica de medias con IC95%.
Guarda la imagen como PNG.
generar_reporte() — Reporte HTML
Consolida todos los resultados en un archivo HTML
con tablas, interpretaciones y las gráficas integradas.
Puedes compartirlo o subirlo a Canvas.
run() — todo de un jalónEn lugar de llamar cada método por separado, puedes usar:
En el archivo anova_pipeline.py que tienes en tu Repl,
hay secciones marcadas con # TODO. Esas son las partes que
tú debes implementar. Las demás ya están resueltas como referencia.
Este es tu primer avance formal de S4. Demuestra que tienes el pipeline corriendo en Replit con tu propio dataset.
| Criterio | Descripción | % |
|---|---|---|
| ✅ El script corre sin errores |
python3 anova_pipeline.py termina sin excepciones.
Se ve el resumen ejecutivo en consola.
|
50% |
| 📄 Genera reporte HTML |
El archivo reporte_anova.html existe y se puede ver
con el truco del servidor HTTP. Incluye tablas y gráficas.
|
25% |
| 🎲 Funciona con dataset sorpresa | El pipeline corre sin modificaciones con un CSV diferente que el profesor proporcionará al momento de la revisión. | 25% |
https://replit.com/@tu-usuario/q2003b-s4)