Capítulo 9 Gráficos en R
R es un lenguaje de programación y entorno computacional dedicado a la estadística que dispone de múltiples funciones diseñadas para la representación gráfica de datos.
Revisa la presentación completa aquí
9.1 Tipos de gráficos en R
Existe una gran variedad de gráficos que pueden utilizarse según el tipo de datos que se tengan.
9.2 Paqueterías para graficar en R
Existen diversas paqueterías en R que facilitan la creación de gráficos. Cada paquetería permite crear diversos tipos de gráficos.
9.3 Gráficos de base R
R cuenta con el paquete base de graphics para la construcción de gráficos. La función plot
es la función básica que permite crear:
- Líneas
- Barras
- Boxplots
- Matrices de dispersión
9.4 Paletas de colores en R
Los colores son uno de los elementos esenciales de un gráfico. Forman parte de la estética y por tanto, los podemos utilizar tanto para representar variables, como para destacar elementos dentro de la visualización.
Aquí y aquí puedes revisar los colores disponibles en R que puedes usar en tus gráficas.
9.5 ggplot2
ggplot2 es una de las paqueterías más populares en R para crear una gran variedad de gráficos. ggplot2
es un sistema para la creación declarativa de gráficos basado en la gramática de gráficos. En esta gramática, se separan los elementos o las partes de un gráfico en diferentes capas o layers, y así es más fácil modificarlos.
ggplot2
funciona a través de la grámatica de gráficos donde se dan los datos, las variables que queremos a graficar y la geometría deseada.
Instalación de ggplot2
install.packages("tidyverse")
install.packages("ggplot2")
Cargar la librería de trabajo
library(ggplot2)
Importamos el set de datos que puedes descargar de aquí
<- read.csv("iris.csv") datos
head(datos)
## Sepal.Length Sepal.Width Petal.Length Petal.Width Species
## 1 5.1 3.5 1.4 0.2 setosa
## 2 4.9 3.0 1.4 0.2 setosa
## 3 4.7 3.2 1.3 0.2 setosa
## 4 4.6 3.1 1.5 0.2 setosa
## 5 5.0 3.6 1.4 0.2 setosa
## 6 5.4 3.9 1.7 0.4 setosa
9.5.1 Scatterplots
Vamos a crear un gráfico ddel tipo scatterplot muy básico con ggplot2.
ggplot(datos, aes(x = Petal.Width, y = Petal.Length)) +
geom_point()
Ahora vamos a colorear todos los puntos utilizando geom_point(color)
. Para agregar las etiquetas de los ejes usamos labs()
como se muestra a continuación.
ggplot(datos, aes(x = Petal.Width, y = Petal.Length)) +
geom_point(color="red")+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo")
Con el argumento color
coloreamos por especie de flor.
ggplot(datos, aes(x = Petal.Width, y = Petal.Length, color=Species)) +
geom_point()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo")
shape
permite modificar la forma del punto. En este caso vamos a poner diferentes puntos según la especie de flor . Con ggtitle
agregamos un título a nuestro gráfico.
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color=Species, shape=Species)) +
geom_point(size=3) +
theme_bw()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo")+
ggtitle("Set de datos iris")
Otra opción para modificar los colores es utilizando scale_colour_manual()
. Con este argumento indicamos los colores que queremos usar para nuestro gráfico basados en la paleta de colores.
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color=Species)) +
geom_point()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo",
title = "Set de datos iris", subtitle = "Scatterplot")+
theme_grey()+
theme(legend.position = "top")+
scale_colour_manual(values=c("red", "blue", "green"))
9.5.2 RcolorBrewer
RcolorBrewer es una paquetería exclusiva de colores que podemos usar en nuestros gráficos.
install.packages("RColorBrewer")
library(RColorBrewer)
Conocer todas las paletas de colores disponibles en RColorBrewer.
display.brewer.all()
Vamos a elegir la paleta “Dark2” para personalizar nuestro gráfico. Usamos el argumento scale_colour_brewer()
como se muestra a continuación
ggplot(iris, aes(x = Petal.Width, y = Petal.Length, color=Species)) +
geom_point()+
labs(x = "Ancho del petálo" ,y = "Longitud del petálo",
title = "Set de datos iris")+
theme_grey()+
theme(legend.position = "top")+
scale_colour_brewer(palette="Dark2")
9.5.3 Boxplots
R contiene varios sets de datos ya pre-cargados con los que podemos trabajar. Para conocer los sets disponibles usamos:
Para este ejercicio vamos a elegir el set de datos chickwts. La información de este set de datos se uso para medir y comparar la efectividad de varios suplementos alimenticios en la tasa de crecimiento de los pollos.
head(chickwts)
## weight feed
## 1 179 horsebean
## 2 160 horsebean
## 3 136 horsebean
## 4 227 horsebean
## 5 217 horsebean
## 6 168 horsebean
Vamos a crear un boxplot básico.
ggplot(chickwts, aes(y = weight, x= feed)) +
geom_boxplot()+ggtitle("Box Plot of Weight")
theme()
permite modificar varios elementos del gráfico. En esta ocasión lo usaremos para rotar las etiquetas del eje x.
ggplot(chickwts, aes(y = weight, x= feed)) +
geom_boxplot()+ggtitle("Box Plot of Weight")+
theme(text = element_text(size=10),
axis.text.x = element_text(angle=90, hjust=1))
Coloreamos el gráfico por tipo de alimentación que se le dio a los pollos.
ggplot(chickwts, aes(y = weight, x= feed, fill=feed)) +
geom_boxplot()+
ggtitle("Dataset chickwts")+
theme(text = element_text(size=10),
axis.text.x = element_text(angle=90, hjust=1))+
labs(subtitle = "Boxplot", y= "peso", x="alimento")