ggpairs
El paquete GGally
contiene la función ggpairs
que es el equivalente en ggplot2 a la función pairs
de R base. Puedes pasar un data frame que contenga tanto variables continuas como categóricas.
Por defecto, el panel superior mostrará la correlación entre las variables continuas, el inferior los diagramas de dispersión entre las variables continuas, la diagonal los gráficos de densidad de las variables continuas y los lados los histogramas y box plots de la combinación entre variables continuas y categóricas.
# install.packages("GGally")
library(GGally)
ggpairs(iris)
Selección de las columnas
El argumento columns
puede ser usado para seleccionar las columnas del data frame. Puedes especificar un vector numérico o de caracteres indicando los nombres de las variables. En el siguiente ejemplo estamos eliminando la variable categórica del conjunto de datos.
# install.packages("GGally")
library(GGally)
ggpairs(iris, # Data frame
columns = 1:4) # Columnas
Color por grupo
Puedes pasar componententes estéticos a aes
. Esto te permitirá crear y colorear gráficos de densidad, de correlación u otro tipo de gráficos en base a grupos.
# install.packages("GGally")
library(GGally)
ggpairs(iris, # Data frame
columns = 1:4, # Columnas
aes(color = Species, # Color por grupo (var. categórica)
alpha = 0.5)) # Transparencia
Tamaño de la fuente
Quizás hayas notado que los valores de la correlación no entran en el panel superior. Si necesitas cambiar el tamaño de la fuente puedes usar la siguiente línea de código:
# install.packages("GGally")
library(GGally)
ggpairs(iris, columns = 1:4, aes(color = Species, alpha = 0.5),
upper = list(continuous = wrap("cor", size = 2.5)))
Los paneles superior, inferior y diagonal son completamente personalizables con los argumentos upper
, lower
y diag
. Por defecto cada argumento es una lista con una serie de variables. Tendrás que buscar las funciones que acaben en ggally_()
y pasarlas a los argumentos como caracter.
Panel superior
Puedes pasar "points"
a la variable continuous
de la lista del argumento upper
para añadir gráficos de dispersión en el panel superior. Pasamos "points"
porque existe una función llamada ggally_points
.
# install.packages("GGally")
library(GGally)
ggpairs(iris, columns = 1:4, aes(color = Species, alpha = 0.5),
upper = list(continuous = "points"))
Panel inferior
En el siguiente ejemplo añadimos gráficos de dispersión con curvas de regresión (ggally_smooth
).
# install.packages("GGally")
library(GGally)
ggpairs(iris, columns = 1:4, aes(color = Species, alpha = 0.5),
lower = list(continuous = "smooth"))
Diagonal
El argumento diag
es por defecto "densityDiag"
. Puedes pasar "barDiag"
o eliminar la diagonal con "blankDiag"
.
# install.packages("GGally")
library(GGally)
ggpairs(iris, columns = 1:4, aes(color = Species, alpha = 0.5),
diag = list(continuous = "blankDiag"))
Si el conjunto de datos contiene variables categóricas es posible personalizar los gráficos representando la combinación entre las variables categóricas y las numéricas, tal y como se muestra a continuación.
Superior
Usando la variable combo
puedes asignar diferentes gráficos para las variables categóricas en el panel superior. En el siguiente ejemplo estamos agregando densidades por cada grupo (ggally_facetdensity
).
# install.packages("GGally")
library(GGally)
ggpairs(iris[3:5], aes(color = Species, alpha = 0.5),
upper = list(combo = "facetdensity"))
Inferior
Lo mismo se puede aplicar en el panel inferior. En el siguiente ejemplo estamos mostrando el conteo de las observaciones usando rectángulos con áreas proporcionales (ggally_count
).
# install.packages("GGally")
library(GGally)
ggpairs(iris[3:5], aes(color = Species, alpha = 0.5),
lower = list(combo = "count"))
También te puede interesar