<- read.csv(file = "Prawns_MR.csv") Prawns
Una Variable Continua y una Variable Categórica
Visualizar cómo una variable medida se relaciona con otras variables de interés es esencial para la exploración de datos y la comunicación de los resultados de la investigación científica. Esta página detalla cómo trazar una única variable continua frente a niveles de una variable predictora categórica.
Este tipo de gráficos se utiliza comúnmente en las ciencias biológicas, de la Tierra y del medio ambiente. Por ejemplo, para ver cómo una variable dada difiere entre un tratamiento experimental y un control, o entre sitios y tiempos de muestreo en el muestreo ambiental.
Utilizaremos datos de muestra de un experimento que contrastó la tasa metabólica de dos especies de camarones e introduciremos dos tipos de gráficos comúnmente utilizados para este propósito: diagramas de caja y diagramas de barras.
En primer lugar, descarga el archivo de datos de muestra, Prawns_MR.csv, e impórtalo en R.
Diagramas de Caja
Los diagramas de caja se realizan fácilmente con la función boxplot
. Los diagramas de caja muestran la distribución de una variable indicando la mediana, los cuartiles, el máximo y el mínimo de una variable. Los bigotes superior e inferior son los valores máximo y mínimo (excluyendo los valores atípicos que se indican con un círculo). La línea gruesa negra es la mediana, y las cajas a cada lado de la línea de mediana son los cuartiles inferiores y superiores.
Para contrastar la tasa metabólica entre las dos especies, utilizaríamos:
boxplot(Metabolic_rate ~ Species, data = Prawns)
La variable continua se encuentra a la izquierda del símbolo de tilde (~) y la variable categórica se encuentra a la derecha. De inmediato, puedes observar que la especie B tiene una tasa metabólica más alta que la especie A.
Gráficos de barras
Este tipo de datos también se visualiza comúnmente mediante un gráfico de barras que muestra las medias de la variable continua para cada nivel de la variable categórica, con barras de error que muestran algunas medidas de variación dentro de cada categoría. Las barras de error pueden ser la desviación estándar, el error estándar o los intervalos de confianza del 95%.
Aunque se utilizan comúnmente, no son tan fáciles de crear con las funciones básicas de R. Hay varias formas de hacerlo, pero una opción es utilizar las funciones summarise
y group_by
del paquete dplyr para calcular las medias y medidas de variación para cada nivel de tu variable categórica (consulta Resumen de datos).
Aquí tienes un código de ejemplo para visualizar las medias +/- desviaciones estándar. Para tener un mayor control sobre las barras de error, te recomendamos utilizar opciones de trazado más avanzadas en el paquete ggplot2 (consulta gráficos de barras con barras de error).
library(dplyr)
<- Prawns %>% # the names of the new data frame and the data frame to be summarised
Species.summary group_by(Species) %>% # the grouping variable
summarise(
mean = mean(Metabolic_rate), # calculates the mean
sd = sd(Metabolic_rate), # calculates the standard deviation
lower = mean(Metabolic_rate) - sd(Metabolic_rate),
upper = mean(Metabolic_rate) + sd(Metabolic_rate)
)
En un nuevo data frame llamado Species.summary, ahora tenemos las medias, desviaciones estándar y los valores inferiores y superiores que establecen el tamaño de las barras de error para cada nivel de la variable de agrupación. Los límites de las barras de error se calcularon sumando (superior) o restando (inferior) la desviación estándar a la media.
Ahora podemos utilizar las funciones barplot
y arrows
para crear un gráfico con barras de error.
<- barplot(Species.summary$mean,
Prawn.plot names.arg = Species.summary$Species,
ylab = "Metabolic rate", xlab = "Species", ylim = c(0, 1)
)
arrows(Prawn.plot, Species.summary$lower, Prawn.plot, Species.summary$upper, angle = 90, code = 3)
Ten en cuenta que los gráficos de medias y barras de error pueden ser engañosos, ya que ocultan las distribuciones reales de los datos. Las medias también pueden ser engañosas cuando los datos están muy sesgados y los cálculos para las barras de error utilizando estadísticas t (por ejemplo, intervalos de confianza del 95%) asumen que los datos están distribuidos de manera normal.
Formateo de gráficos
Los diagramas de caja (box plots) y los gráficos de barras se pueden formatear utilizando el formato básico de R en el paquete de gráficos base. El siguiente código detalla algunos de los comandos de formato más utilizados para estos gráficos. Estos comandos se pueden utilizar para cualquier función de visualización en el paquete de graphics
.
Agregar etiquetas de ejes o títulos
Las etiquetas de los ejes se agregan con los argumentos xlab
y ylab
. Los títulos se proporcionan con el argumento main
. Ten en cuenta que las figuras en publicaciones científicas rara vez tienen un título, pero incluyen información sobre el gráfico en una leyenda:
boxplot(Metabolic_rate ~ Species, data = Prawns, xlab = "Species", ylab = "Metabolic rate")
Editar límites de los ejes
Los límites de los ejes se establecen mediante los argumentos xlim y ylim, donde se requiere un vector con los límites mínimos y máximos. Por ejemplo, para establecer el eje Y con un mínimo de cero y un máximo de 1, utiliza:
boxplot(Metabolic_rate ~ Species,
data = Prawns, xlab = "Species", ylab = "Metabolic rate",
ylim = c(0, 1)
)
Renombrar niveles del factor categórico
Si los niveles de una variable categórico no son ideales para el gráfico, se puede modificar los nombres utilizando el argumento names
. Por ejemplo, para poner los nombres reales de las especies:
boxplot(Metabolic_rate ~ Species,
data = Prawns, xlab = "Species", ylab = "Metabolic rate",
names = c("Penaeus monodon", "Fenneropenaeus merguiensis")
)
Agregar color
Se puede agregar color a cualquier parte del gráfico (ejes, fuentes, etc.) utilizando el argumento col
. Hay más de 600 colores disponibles, puedes escribir colours()
para ver toda la lista de colores disponibles.
Aquí simplemente cambiaremos el color de las barras en el gráfico de barras a rojo.
barplot(Species.summary$mean,
names.arg = Species.summary$Species,
ylab = "Metabolic rate", xlab = "Species", ylim = c(0, 1), col = "red"
)
Más ayuda
Escribe ?boxplot
y ?barplot
para obtener la ayuda de R sobre estas funciones.
Autores: Stephanie Brodie y Alistair Poore
Año: 2016
Última actualización: Nov. 2023