Introducción
Uno de los libros más populares para aprender estadística repleto de ejemplos en R es An Introduction to Statistical Learning. En esta y tal vez sucesivas entradas, vamos a recrear con ggplot2 algunos de los gráficos mostrados en el libro. En este caso los 3 primeros gráficos de la figura 1.1.
Solución
# Cargamos paquetes y datos necesarios
library(ISLR)
attach(Wage)
library(ggplot2)
- Diagrama de dispersión: edad y salarios
- Diagrama de dispersión: años y salarios.
- Diagrama de caja: educación y salarios
Los salarios como una función de la edad. En media, los salarios se incrementan con la edad hasta llegar a los 60 años, a partir de entonces empiezan a declinar.
A diferencia del gráfico original, mostramos un intervalo de confianza alrededor de la línea que se traza siguiendo el método de suavizado (smoothing method) de gam (generalized additive models) al tener más de 1.000 observaciones. Es un típico ejemplo de overplotting, la representación de las observaciones es tan densa que dificulta la lectura del gráfico. Trataremos este problema en otra entrada.
ggplot(Wage, aes(x= age, y = wage)) +
geom_point()+
geom_smooth() # se = FALSE sin intervalo de confianza
Representamos los salarios como una función del año. Hay un incremento ligero pero constante de aproximadamente 10.000 dólares de 2003 a 2009.
Si tratamos de aplicar la función anterior geom_smooth, nos aparecerá el siguiente mensaje 'Warning message: Computation failed in `stat_smooth()`: x has insufficient unique values to support 10 knots: reduce k.' Para resolverlo usamos stat_summary para representar la media.
ggplot(Wage, aes(x= year, y = wage)) +
geom_point() + stat_summary(
fun.y = mean,
colour = "blue",
geom = "line",
size = 1.5
)
Los diagramas de caja representan los salarios como una función de la educación con 1 indicando el nivel más bajo (sin diploma de bachillerato) y 5 el nivel más alto (nivel de postgrado avanzado). En media, lo salarios se incrementan con el nivel de educación.
Utilizamos la función geom_boxplot con los argumentos por defecto e indicamos fill para colorear el interior de las mismas.
ggplot(Wage, aes(x= education, y = wage, fill = education)) +
geom_boxplot()
Entradas relacionadas
No hay comentarios:
Publicar un comentario