7.6 Scatter plots
Vamos a aprender a representar las medidas de dispersión de una muestra. Tal como utilizamos para la tendencia central, ahora visualizaremos nuestros datos mediante gráficos. Para ello, nos valdremos de los datasets que ofrece R. En este caso, utilizamos el de coches, llamado “mtcars” que, tal como su descripción indica, posee datos de las pruebas de motores de 32 coches. Comenzamos a realizar nuestro “scatter plot” o gráfico de dispersión:
- Convertimos la columna “cyl”, que posee el número de cilindros de los coches de una variable numérica a una variable de factor:
Los diagramas de dispersión se crean usando el código R que vemos a continuación. El color, el tamaño y la forma de los puntos se pueden cambiar usando la función geom_point () de la siguiente manera:
geom_point(size, color, shape)
install.packages("ggplot2")
library(ggplot2)
# Scatter plot básico
ggplot(mtcars, aes(x=wt, y=mpg)) + geom_point()
# Cambiar el tamaño y la forma del punto
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(size=2, shape=23)
# Cambiar el tamaño de los puntos
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(aes(size=qsec))
Ahora, vamos a añadirle etiquetas a los puntos de nuestro gráfico con la función geom_text() de la siguiente manera:
- Agregar líneas de regresión Las siguientes funciones se pueden usar para agregar líneas de regresión a un diagrama de dispersión:
geom_smooth()
geom_smooth(method="auto", se=TRUE, fullrange=FALSE, level=0.95)
# Agrega la línea de regresión
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point()+
geom_smooth(method=lm)
# Eliminar el intervalo de confianza
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point()+
geom_smooth(method=lm, se=FALSE)
# Método de Loess
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point()+
geom_smooth()
- Cambia la apariencia de puntos y líneas. Esta sección describe cómo cambiar:
- el color y la forma de los puntos
- el tipo de línea y el color de la línea de regresión
- el color de relleno del intervalo de confianza
# Cambiar los colores y formas de los puntos
# Cambiar el tipo y el color de la línea
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(shape=18, color="blue")+
geom_smooth(method=lm, se=FALSE, linetype="dashed",
color="darkred")
# Cambiar el color de relleno del intervalo de confianza
ggplot(mtcars, aes(x=wt, y=mpg)) +
geom_point(shape=18, color="blue")+
geom_smooth(method=lm, linetype="dashed",
color="darkred", fill="blue")
- Gráficos de dispersión con varios grupos. Esta sección describe cómo cambiar los colores y las formas de los puntos de forma automática y manual.
Cambiar el color / forma / tamaño del punto automáticamente
En el código R a continuación, las formas, colores y tamaños de los puntos están controlados por los niveles de la variable de factor cyl:
# Cambiar las formas de los puntos por los niveles de cilindros
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl)) +
geom_point()
# Cambiar formas y colores de puntos
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl, color=cyl)) +
geom_point()
# Cambiar formas, colores y tamaños de puntos
ggplot(mtcars, aes(x=wt, y=mpg, shape=cyl, color=cyl, size=cyl)) +
geom_point()
- ¿Cómo agregar líneas de regresión? Las líneas de regresión se pueden agregar de la siguiente manera:
# Agregar líneas de regresión
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
geom_point() +
geom_smooth(method=lm)
# Eliminar intervalos de confianza
# Extiende las líneas de regresión
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
geom_point() +
geom_smooth(method=lm, se=FALSE, fullrange=TRUE)El color de relleno de los intervalos de confianza se puede cambiar de la siguiente manera:
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) + geom_point() + geom_smooth(method=lm, aes(fill=cyl))
Para cambiar el color / forma / tamaño del punto manualmente, se utilizan las siguientes funciones:
```r
scale_shape_manual() for point shapes
scale_color_manual() for point colors
scale_size_manual() for point sizes
# Cambiar formas y colores de puntos manualmente
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
geom_point() +
geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
scale_shape_manual(values=c(3, 16, 17))+
scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
theme(legend.position="top")
# Cambiar el tamaño de los puntos manualmente
ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl))+
geom_point(aes(size=cyl)) +
geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
scale_shape_manual(values=c(3, 16, 17))+
scale_color_manual(values=c('#999999','#E69F00', '#56B4E9'))+
scale_size_manual(values=c(2,3,4))+
theme(legend.position="top")
También es posible cambiar manualmente los colores de puntos y líneas usando las funciones:
scale_color_brewer() : para utilizar paletas de colores del paquete RColorBrewer
scale_color_grey() : para utilizar paletas de colores grises
p <- ggplot(mtcars, aes(x=wt, y=mpg, color=cyl, shape=cyl)) +
geom_point() +
geom_smooth(method=lm, se=FALSE, fullrange=TRUE)+
theme_classic()
# Utilice paletas de colores "brewer"
p+scale_color_brewer(palette="Dark2")
# Usar escala de grises
p + scale_color_grey()Agregue alfombras marginales a un diagrama de dispersión. La función geom_rug () se puede utilizar: