El ANOVA de medidas repetidas es una herramienta fundamental cuando queremos analizar cómo cambia una variable continua a lo largo del tiempo o bajo diferentes condiciones, en los mismos sujetos. A diferencia del ANOVA tradicional, aquí trabajamos con muestras relacionadas, lo cual tiene implicancias estadísticas importantes.
En esta guía práctica, aprenderás cómo:
- Preparar y explorar tus datos en R,
- Verificar los supuestos del modelo,
- Aplicar el ANOVA de medidas repetidas paso a paso,
- E interpretar los resultados correctamente.
Además, trabajaremos con un ejemplo real sobre síntomas de resaca medidos en diferentes momentos. Todo el análisis se realiza usando funciones de R y paquetes como WRS2 y ez.
¿Qué es el ANOVA de Medidas Repetidas?
El ANOVA de medidas repetidas (o repeated measures ANOVA) es una variante del análisis de varianza diseñada para comparar las medias de una misma variable medida en distintos momentos o condiciones, pero sobre los mismos sujetos.
¿Cuándo hablamos de medidas repetidas?
Cuando cada participante es evaluado más de una vez: por ejemplo, antes, durante y después de un tratamiento, o en varias condiciones experimentales.
¿En qué se diferencia del ANOVA clásico?
- El ANOVA clásico compara muestras independientes (por ejemplo, tres grupos distintos de personas).
- El ANOVA de medidas repetidas compara muestras relacionadas (las mismas personas en tres momentos diferentes).
¿Por qué es importante el tipo de muestra?
Uno de los errores más comunes al aplicar pruebas estadísticas es no tener en cuenta la relación entre las muestras.
¿Qué ocurre si las muestras están relacionadas?
Si un mismo sujeto aporta varios datos (por ejemplo, su presión arterial en diferentes días), estos valores no son independientes entre sí. Por lo tanto:
- Las técnicas estadísticas deben ajustarse para tener en cuenta esta dependencia.
- Si no se hace, se infravalora el error y se obtienen conclusiones engañosas.
Ventajas del diseño con medidas repetidas:
- Requiere menos sujetos, ya que cada uno aporta más información.
- Reduce la variabilidad entre sujetos, lo que aumenta la potencia estadística.
Desventajas:
Requiere cumplir supuestos específicos como la esfericidad (ver más abajo).
Puede haber efectos de aprendizaje, fatiga o arrastre entre mediciones.
Supuestos del ANOVA de medidas repetidas
Antes de aplicar el modelo, es fundamental comprobar ciertos supuestos estadísticos, ya que su incumplimiento puede invalidar los resultados. A continuación, revisamos los tres principales:
4.1. Normalidad de los residuos
Se espera que los errores del modelo (residuos) sigan una distribución normal.
- Cómo comprobarlo en R: Prueba de Shapiro-Wilk para cada nivel del factor.
- También es útil visualizar gráficos Q-Q y histogramas.
4.2. Ausencia de valores atípicos
Los outliers pueden afectar de forma significativa el análisis.
- Cómo detectarlos: Utiliza gráficos de cajas (boxplots) por cada condición o momento de medición.
- Si hay muchos outliers, conviene considerar pruebas robustas o transformaciones.
4.3. Esfericidad
Es el supuesto específico del ANOVA con medidas repetidas: se espera que la varianza de las diferencias entre pares de condiciones sea igual.
- Cómo evaluarlo: con la prueba de Mauchly.
- Si NO se cumple, deben aplicarse correcciones como:
- Greenhouse-Geisser (más conservadora),
- o Huynh-Feldt (más liberal).
- Alternativamente, se puede usar el enfoque multivariado, que no depende de este supuesto.
Ejemplo de ANOVA con medidas repetidas
¿Qué datos utilizaremos?
Vamos a estudiaruna única variable en distintos momentos temporales.
Vamos a utilizar los datos “hangover” del paquete WRS2, donde vamos a evaluar cómo transcurren los síntomas de la resaca después de consumir igual cantidad de alcohol. Las mediciones del número de síntomas de la resaca se realizaron en tres ocasiones la mañana siguiente a consumir alcohol (muestras relacionadas).
Nos preguntamos, sin diferenciar por grupo experimental, ¿los sujetos disminuyen su grado de resaca con el tiempo? ¿en quémomento? ¿en la segunda o en la tercera medición?
Queremos es comparar el número de síntomas de resaca en 3 tiempos de medición distintos (muestras relacionadas).
1. Manipulación de los datos, descripción y supuestos
Procedimiento
- obtener los datos
- realizar un análisis descriptivo de los datos.
* comprobación de los supuestos (normalidad y presencia de outliers).
Debemos primero instalar la librería WRS2 (si es que aún no la tienen instalada) para acceder a los datos.
Puedes descargar el paquete desde el repositorio CRAN de R con:
install.packages(“WRS2”)
O descargarlo desde GitHub así:
library(devtools)
install_github(“cran/WRS2”)
Ahora solo queda activar la librería y los datos:


Vemos que tenemos 4 variables:
- symptoms: Número de síntomas de la resaca
- group: Hijo de alcohólico vs. control
- time: Momento de la medición
- ID: identificación del sujeto
Aquí no utilizaremos la variable “group” que diferencia entre hijos de padres alcohólicos y los que no, pero podríamos incluir este factor de grupo, y su posible interacción con el tiempo de medición, utilizando un ANOVA mixto (lo dejo para vosotros).
Una vez tenemos los datos, vamos a realizar un análisis descriptivo para tener una idea de cómo son nuestros datos y luego analizamos los supuestos de la prueba (i.e. normalidad y ausencia de valores atípicos -outliers-).
Descriptivos y análisis de outliers.

Vemos que tenemos 40 casos (o sujetos) para cada una de las 3 muestras de tiempo.

Realizamos ahora un resumen numérico para cada muestra y el gráfico de cajas (boxplot):

Vemos que no varía demasiado el número de síntomas en las 3 mediciones, aunque el tiempo 1 parece tener menor número existe mucha dispersión en los datos. También observamos la presencia de datos atípicos (outliers; los puntos del gráfico) que podrían indicarnos que es mejor realizar pruebas robustas para el ANOVA MR.
Ahora comprobamos el supuesto de normalidad.
Prueba de normalidad de Shapiro-Wilks


En los 3 tiempos la variable “symptoms” no tiene distribución normal, sería interesante desarrollar pruebas no paramétricas que no trabajan bien para datos que no son normales.
También podríamos realizar un gráfico Q-Q para evaluar este supuesto (lo dejo en vuestras manos!).
> NOTA: Aunque en este post no veremos la versión del ANOVA MR no paramédico ni el robusto, puedes consultar nuestro POST “Guía definitiva para encontrar la prueba estadística que buscas” para ver qué función en R puedes utilizar para ello.
Interpretació__n
Según el gráfico de cajas y los estadísticos descriptivos, el número de síntomas de resaca no parece variar demasiado en el tiempo, aunque la respuesta se vuelve más variable.
Las pruebas de normalidad indican falta de normalidad debido a la gran presencia de ceros y hemos detectado datos atípicos (u outliers)
2. Pruebas de hipótesis
A. ¿Existen diferencias entre los tiempos?
Tenemos una variable dependiente numérica (symptoms) y la queremos comparar entre 3 niveles de una variable categórica (time) que corresponden a muestras relacionadas porque son observaciones de los mismos sujetos. Debemos utilizar un ANOVA de 1 vía o 1 factor intra-grupos o de medidas repetidas.
Para el caso del ANOVA de 1 factor intra grupos, las hipótesis que corresponden son:
- H0: el número de síntomas de resaca es el mismo en los 3 tiempos (los sujetos, independientemente de si son hijos o no de padres alcohólicos, no variaron su nivel de resaca en el experimento).
- H1: en algún momento el grado de resaca cambió (existen diferencias entre al menos alguno de los 3 tiempos de medición
B. ¿Entre qué tiempos específicamente?
Luego de evaluar si existen diferencias entre los 3 tiempos de medición, y si obtenemos un resultado significativo (si hay diferencias), nos interesará evaluar entre qué tiempos específicamente encontramos estas diferencias. Para ello utilizaremos las comparaciones múltiples post hoc.
Procedimiento
- Realizar la prueba ANOVA MR paramétrica con ezANOVA()
- Realizar comparaciones múltiples post hoc con t.test()
> NOTA: la prueba ezANOVA necesita que los datos estén en formato long, es decir, la variable de medidas repetidas tiene que estar dada en una única columna (como en este caso). Si los datos no tuvieran esta estructura se debe pasar de formato wide a long como se especificó en el tema 1.
Para realizar el ANOVA MR debemos ingresar los datos en la función ezANOVA() indicando los datos (data), la variable dependiente o respuesta (dv), la identificación de los sujetos (wid), y la variable de tiempo (within).

En este caso la prueba de esfericidad de Mauchly no es significativa (ver $Mauchly’s test for sphericity), por lo cual no rechazamos el supuesto de esfericidad y no tendremos que utilizar una corrección para la esfericidad ($Sphericity correction), nos basta con mirar el resultado del estadístico F univariado ($ANOVA).
No hay diferencias significativas en los 3 tiempos (F(2,78)=0.89, p=0.41), es decir, el número de síntomas de resaca no difiere significativamente entre los 3 tiempos de medición.
El ejercicio debería terminar aquí, pero por motivos didácticos vamos a realizar las pruebas de comparaciones múltiples post hoc que nos permitirían evaluar entre qué grupos hay diferencias significativas en el caso de que la prueba de ANOVA MR anterior hubiera sido significativa:

Los resultados coinciden con el ANOVA MR anterior, vemos que los 3 p-valores que nos muestra esta prueba no son significativos. Por ejemplo, la prueba que compara el tiempo 1 vs tiempo 2 presenta un p-valor de 0.26, tiempo 1 vs tiempo 3 tiene un p=0.24 y tiempo 2 vs tiempo 3 p=0.86.
> NOTA: podrías utilizar la corrección de Bonferroni para estas comparaciones, consúltalo en la ayuda de la función ?pairwise.t.test
Interpretació__n
La prueba ANOVA MR paramétrico no indica diferencias significativas, pero recordemos que nuestras variables no son normales y presentan outliers, así que estos resultados no son fiables.
Introducción al ANOVA mixto de 2 factores
Imagina que ahora queremos responder a la siguiente pregunta: Los hijos de padres alcohólicos y los de padres no alcohólicos, ¿se comportan de la misma manera? o ¿cuál de ellos se recupera antes de la resaca?
Este tipo de preguntas implica considerar 2 factores (group -entre grupos- y time -intra grupo o de medidas repetidas-) a la vez. Este tipo de problemas se resuelve mediante el ANOVA de 2 factores mixto.
Espero que este post te haya sido de gran ayuda y lo apliques pronto a tus propios datos.
Déjanos tu mensaje y cuéntanos tu experiencia.



