Comparar medias - Continuación

Author
Affiliation

Mtro. Santiago Ríos

Como viste en la lección pasada, con ggpubr es fácil graficar y realizar las pruebas estadísticas para comparar medias. En esta lección, veremos más a fondo la función compare_means() y stat_compare_means() para que puedas realizar comparaciones más complejas.

Función compare_means()

  • Esta función sigue la siguiente estructura:
compare_means(formula, 
              data, 
              method = "wilcox.test", 
              paired = FALSE,
              group.by = NULL, 
              ref.group = NULL, 
              ...
              )

Donde:

  • formula: una fórmula de la forma y ~ x, donde y es una variable de respuesta y x es un factor con uno o varios niveles. Por ejemplo, formula = respuesta ~ grupo_de_tratamiento.
  • data: un data.frame que contiene las variables en la fórmula.
  • method: el tipo de prueba. El valor predeterminado es wilcox.test. Los valores permitidos incluyen: t.test (paramétrico), anova (paramétrico), wilcox.test (no paramétrico) y kruskal.test (no paramétrico).
  • paired: un valor lógico que indica si tienes muestras pareadas (por ejemplo, la misma muestra antes y después de un tratamiento). Se utiliza solo en t.test y en wilcox.test.
  • group.by: variables utilizadas para agrupar el conjunto de datos antes de aplicar la prueba. Cuando se especifica, las comparaciones de medias se realizarán en cada subconjunto de los datos formados por los diferentes niveles de las variables group.by. Por ejemplo, group.by = "sexo".
  • ref.group: una cadena de caracteres que especifica el grupo de referencia. Si se especifica, para una variable de agrupamiento dada, cada uno de los niveles del grupo se comparará con el grupo de referencia (es decir, grupo de control).

stat_compare_means()

  • Esta función es similar a compare_means(), pero se utiliza para agregar automáticamente los valores p y los niveles de significancia a un gráfico.
plot(...) + stat_compare_means(
                               ...)
Ejemplo con dos grupos independientes
  • En este caso, se comparan dos grupos independientes.
  • La variable de respuesta es len y el factor es supp.
  • Como no especificamos el método, se utiliza el valor predeterminado wilcox.test.
  • Observa el output de la función compare_means(). Nos da los dos grupos que se comparan, el p-valor asociado a la prueba y el método utilizado.
  • En este caso, el p-valor es mayor a 0.05, por lo que no hay evidencia suficiente para rechazar la hipótesis nula de que las medias de los dos grupos son iguales.
  • Si quisieras realizar una prueba t de Student, puedes especificar el método con method = "t.test".
  • Como ya vimos, para graficarlo solo hay que agregar stat_compare_means() al gráfico de ggpubr

Ejemplo con dos grupos pareados

  • En este caso, se comparan dos grupos pareados con la función ggpaired() de ggpubr. Esto permite visualizar los datos pareados y ver cómo cambian antes y después de un tratamiento.

Ajustar la posición de la etiqueta del valor p

  • La posición predeterminada de la etiqueta del valor p se puede ajustar utilizando los argumentos label.x, label.y.
  • label.x: posición x de la etiqueta. 1 se refiere al primer grupo y 2 al segundo. Por lo tanto, 1.5 se encuentra en el medio de los grupos.
  • label.y: posición y de la etiqueta.

Comparar medias con más de dos grupos (ANOVA)

  • Para comparar más de dos grupos, se utiliza el método anova.
  • Recuerda que el análisis de varianza (ANOVA) es una técnica estadística que se utiliza para comparar las medias de tres o más grupos. Si el p-valor es menor a 0.05, se rechaza la hipótesis nula de que las medias son iguales. Si el valor es mayor a 0.05, no hay evidencia suficiente para rechazar la hipótesis nula.
  • Sin embargo, recuerda que el ANOVA NO nos dice cuáles grupos son diferentes entre sí. Para esto, se utilizan pruebas post hoc, que veremos más a detalle en la siguiente sección. Esto se hace para evitar errores de tipo I (ver la clase de pruebas múltiples y errores tipo I).
  • Para este ejemplo, vamos a comparar las medias de la variable len entre los 3 diferentes niveles de la variable dose.
  1. Primero, vamos a realizar la prueba ANOVA con compare_means(). Esta es una prueba general que nos dice si hay diferencias significativas entre alguno(s) de los grupos. Observa que nos da un resultado con una p-value menor a 0.05, por lo que rechazamos la hipótesis nula.

Para agregar este resultado del valor p global, solo hay que agregar stat_compare_means() al gráfico.

  • Ahora, como el resultado de la prueba ANOVA fue significativo (tenemos evidencia que al menos un grupo es diferente), normalmente realizaríamos una prueba post hoc (comparaciones múltiples) para ver cuáles grupos son diferentes entre sí. Esto lo veremos en las siguientes lecciones.

Más ejemplos

  • A continuación se muestran varios ejemplos de distintos tipos de gráficos y pruebas estadísticas que puedes realizar con la función compare_means() y stat_compare_means().
  • Puedes usar estos ejemplos de referencia para tus propios análisis.