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

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")
Fundamentals of Data Visualization

A Primer on Making Informative and Compelling Figures

Comprar en Amazon
Storytelling con Datos

Visualización de datos para profesionales

Comprar en Amazon
ggplot2

Elegant Graphics for Data Analysis

Comprar en Amazon
Better Data Visualizations

A Guide for Scholars, Researchers, and Wonks

Comprar en Amazon

También te puede interesar