Datos de muestra

Un QQ plot (gráfico cuantil-cuantil) compara los cuantiles de tus datos con los cuantiles teóricos de una distribución — habitualmente la normal. Los puntos que caen sobre la línea diagonal indican que los datos siguen esa distribución.

set.seed(1)
df <- data.frame(x = rnorm(200))

R base: qqnorm() + qqline()

La forma más rápida es usar R base. qqnorm() dibuja los puntos y qqline() añade la línea de referencia.

set.seed(1)
x <- rnorm(200)

qqnorm(x)
qqline(x, col = "red")

QQ plot en R base con qqnorm y qqline

geom_qq() + geom_qq_line()

QQ plot en ggplot2 con geom_qq y geom_qq_line

En ggplot2, usa aes(sample = ...) — no x ni y. geom_qq() dibuja los puntos y geom_qq_line() añade la línea de referencia diagonal.

# install.packages("ggplot2")
library(ggplot2)

ggplot(df, aes(sample = x)) +
  geom_qq() +
  geom_qq_line()

Color y estilo de línea

Personaliza los puntos con color y size en geom_qq(), y la línea de referencia con color y linewidth en geom_qq_line().

# install.packages("ggplot2")
library(ggplot2)

ggplot(df, aes(sample = x)) +
  geom_qq(color = "steelblue", size = 1.5) +
  geom_qq_line(color = "red", linewidth = 0.8)

QQ plot en ggplot2 con colores personalizados para puntos y línea de referencia

Múltiples grupos

QQ plot con múltiples grupos coloreados en ggplot2

Añade color = group dentro de aes() para dibujar un QQ plot por grupo. Los datos normales siguen la línea mientras que los exponenciales se alejan de ella.

# install.packages("ggplot2")
library(ggplot2)

ggplot(df_groups, aes(sample = x, color = group)) +
  geom_qq() +
  geom_qq_line()

Facetas

Usa facet_wrap() para dar a cada grupo su propio panel. Así es más fácil evaluar la normalidad de cada grupo por separado.

# install.packages("ggplot2")
library(ggplot2)

ggplot(df_groups, aes(sample = x)) +
  geom_qq() +
  geom_qq_line(color = "red") +
  facet_wrap(~group)

QQ plot con facet_wrap por grupo en ggplot2

Datos no normales

QQ plot de datos exponenciales con asimetría positiva mostrando desviación de la normalidad

Cuando los datos no son normales, los puntos se alejan de la línea de referencia. Los datos con asimetría positiva (como la exponencial) se curvan hacia arriba en la cola superior.

# install.packages("ggplot2")
library(ggplot2)

set.seed(1)
df_exp <- data.frame(x = rexp(200))

ggplot(df_exp, aes(sample = x)) +
  geom_qq() +
  geom_qq_line(color = "red")
MASTER - STATISTICS DOT COM

Master Statistics

Aprende estadística desde lo básico hasta técnicas avanzadas, explicado con claridad

Ir al sitio
R PACKAGES IO

R Packages

Explora y descubre miles de paquetes, funciones y datasets de R

Ir al sitio

También te puede interesar