En los siguientes ejemplos vamos a usar el conjunto de datos iris
, que contiene distintas medidas sobre el largo y ancho de los pétalos y sépalos de flores de diferentes especies.
iris
GGally
La función ggparcoord
del paquete GGally
permite crear gráficos de coordenadas paralelas en ggplot2. Para crear un gráfico básico pasa un data frame a la función.
# install.packages("GGally")
# install.packages("scagnostics")
library(GGally)
ggparcoord(data = iris)
Seleccionar columnas
Si quieres seleccionar solo algunas columnas para ser mostradas en el eje X pasa un vector con las variables al argumento columns
.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4)
Transparenia de las líneas
La transparencia de las líneas se puede controlar con alphaLines
. Si hay muchas líneas se recomienda reducir el nivel de transparencia.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
alphaLines = 0.2)
Color por grupo
Si tu conjunto de datos contiene una variable categórica que represente grupos puedes pasarla al argumento groupColumn
y colorear las líneas por grupo.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species")
Personalización del color
Como ggparcoord
se basa en ggplot puedes cambiar el color de las líneas con scale_color_manual
o scale_color_brewer
, por ejemplo.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species") +
scale_color_brewer(palette = "Set2")
Añadir puntos
La función proporciona un argumento lógico llamado showPoints
que puede ser establecido a TRUE
para mostrar los puntos.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
showPoints = TRUE) +
scale_color_brewer(palette = "Set2")
Interpolación spline
Las líneas se pueden suavizar a través de interpolación spline estableciendo splineFactor = TRUE
.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
splineFactor = TRUE) +
scale_color_brewer(palette = "Set2")
Es posible añadir gráficos de caja para cada variable estableciendo boxplot = TRUE
.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
alphaLines = 0.2,
showPoints = TRUE,
boxplot = TRUE)
También puedes agregar una caja desde el máximo al mínimo de cada variable.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
alphaLines = 0.2,
showPoints = TRUE,
boxplot = TRUE,
shadeBox = 4)
La función proporciona varios métodos de escalado que pueden ser seleccionados con el argumento scale
. El método por defecto es "std"
y los otros métodos disponibles se muestran a continuación. Escribe ?ggparcoord
para obtener detalles adicionales.
Escala “robust”
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
scale = "robust") +
scale_color_brewer(palette = "Set2")
Escala “uniminmax”
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
scale = "uniminmax") +
scale_color_brewer(palette = "Set2")
Escala “globalminmax” (sin escalado)
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
scale = "globalminmax") +
scale_color_brewer(palette = "Set2")
Escala “center”
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
scale = "center") +
scale_color_brewer(palette = "Set2")
Escala “centerObs”
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
scale = "centerObs") +
scale_color_brewer(palette = "Set2")
También hay varios métodos para ordenar las variables mostradas en el eje X. El orden por defecto se basa en las columnas seleccionadas, pero puedes especificar un order o seleccionar uno de los métodos mostrados a continuación. Escribe ?ggparcoord
para obtener detalles adicionales de cada método.
Orden “anyClass” (en base al máximo de K estadísticos F)
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
order = "anyClass") +
scale_color_brewer(palette = "Set2")
Orden “allClass” (en base al estadístico F de un ANOVA)
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
order = "allClass") +
scale_color_brewer(palette = "Set2")
Orden “skewness” (en base a la asimetría muestral)
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
order = "skewness") +
scale_color_brewer(palette = "Set2")
Orden “Outlying” (en base a la medida escagnóstica)
# install.packages("GGally")
# install.packages("scagnostics")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
groupColumn = "Species",
order = "Outlying") +
scale_color_brewer(palette = "Set2")
Puedes hacer uso de la función facet_wrap
para crear un gráfico de coordenadas paralelas para cada uno de los grupos.
# install.packages("GGally")
library(GGally)
ggparcoord(data = iris,
columns = 1:4,
alphaLines = 0.2,
boxplot = TRUE,
groupColumn = "Species",
order = "Outlying") +
scale_color_brewer(palette = "Set2") +
facet_wrap(~ Species)
También te puede interesar