Librería

car

Autor principal

John Fox

La función 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

Función scatterplot con box plots marginales

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

Gráfico de dispersión con box plot marginal en eje X

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

Función scatterplot con box plot marginal en el eje Y

Usando la función 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.

Gráfico de dispersión con box plots marginales en R

# 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