scatterplot
El paquete car
contiene una función llamada scatterplot
que crea gráficos de dispersión en R base con box plots (gráficos de caja) marginales. Ten en cuenta que por defecto la función también agrega una recta de regresión lineal y otra suavizada, que se han omitido.
Gráfico de dispersión con box plots marginales
# install.packages("car")
library(car)
# Datos
set.seed(14022021)
x <- rnorm(300)
y <- 3 * x + rnorm(300)
scatterplot(x, y, # Datos
pch = 19, # Símbolo pch
col = 1, # Color de los puntos
smooth = FALSE, # Sin regresión suavizada
regLine = FALSE) # Sin la regresión lineal
El argumento boxplots
de la función es por defecto "xy"
. Sin embargo, si estableces boxplots = "x"
solo se mostrará el box plot del eje X.
# install.packages("car")
library(car)
# Datos
set.seed(14022021)
x <- rnorm(300)
y <- 3 * x + rnorm(300)
scatterplot(x, y, # Datos
boxplots = "x", # Box plot en el eje X
pch = 19, # Símbolo pch
col = 1, # Color de los puntos
smooth = FALSE, # Sin regresión suavizada
regLine = FALSE) # Sin la regresión lineal
De forma equivalente, si estableces boxplots = "y"
solo se mostrará el box plot del eje Y.
# install.packages("car")
library(car)
# Datos
set.seed(14022021)
x <- rnorm(300)
y <- 3 * x + rnorm(300)
scatterplot(x, y, # Datos
boxplots = "y", # Box plot en el eje Y
pch = 19, # Símbolo pch
col = 1, # Color de los puntos
smooth = FALSE, # Sin regresión suavizada
regLine = FALSE) # Sin la regresión lineal
layout
La función de la sección anterior es muy útil para agregar box plots marginales de manera rápida. Sin embargo, no permite personalizar los gráficos de caja o cambiar su posición.
La función layout
se puede utilizar para agregar gráficos marginales, permitiendo personalizar cada gráfico de manera individual y ponerlos en el margen que se quiera. Si no estás familiarizado con esta función visita el tutorial sobre combinar gráficos.
# Datos
set.seed(14022021)
x <- rnorm(300)
y <- 3 * x + rnorm(300)
# Layout
layout(matrix(c(2, 0, 1, 3),
nrow = 2, ncol = 2,
byrow = TRUE),
widths = c(3, 1),
heights = c(1, 3), respect = TRUE)
# Márgenes superior y derecho del gráfico principal
par(mar = c(5.1, 4.1, 0, 0))
plot(x, y, pch = 19, col = 1, cex = 0.8)
# Margen izquierdo del box plot superior
par(mar = c(0, 4.1, 0, 0), bty = "n")
boxplot(y, axes = FALSE, horizontal = TRUE,
col = "white")
# Margen inferior del box plot de la derecha
par(mar = c(5.1, 0, 0, 0), bty = "n")
boxplot(x, axes = FALSE, col = "white")
También te puede interesar