Gráfico a replicar
Continuamos con la serie iniciada sobre la creación de gráficos del libro An Introduction to Statistical Learning. En esta ocasión replicaremos los gráficos de la figura 2.4. Utiliza el conjunto de datos Income2 (renta). El gráfico representa los valores observados de renta (en miles de dólares) en función de los años de educación y la antigüedad de 30 individuos. Los puntos rojos representan los valores observados para esas tres variables. La superficie amarilla representa el modelo de ajuste de mínimos cuadrados. Las líneas verticales negras representan el error asociado con cada observación.
Solución
Prácticamente idéntica a la entrada anterior, con la diferencia de que en lugar de la función loess empleamos lm para ajustar un modelo lineal.
income_2 <- read.csv("http://www-bcf.usc.edu/~gareth/ISL/Income2.csv")
# Ajustamos el modelo
model <- lm(Income ~ Education + Seniority, data = income_2)
# Creamos las x e y
x <- range(income_2$Education)
x <- seq(x[1], x[2], length.out = 30)
y <- range(income_2$Seniority)
y <- seq(y[1], y[2], length.out = 30)
# Creamos las z con las combinaciones de x e y
z <- outer(x, y,
function(Education, Seniority)
predict(model, data.frame(Education,Seniority)))
# Creamos el gráfico con la superficie
p <- persp(x, y, z, theta = 30, phi = 30,
col = "yellow", expand = 0.5, shade = 0.2,
xlab="Education", ylab = "Seniority", zlab = "Income")
# Proyección de puntos 3d a 2d para usar puntos y segmentos
obs <- trans3d(income_2$Education, income_2$Seniority, income_2$Income, p)
pred <- trans3d(income_2$Education, income_2$Seniority, fitted(model), p)
points(obs, col = "red", pch = 16)
segments(obs$x, obs$y, pred$x, pred$y)
Entradas relacionadas
- Gráficos de An Introduction to Statistical Learning con ggplot2 - Figura 1.1.
- Gráficos de An Introduction to Statistical Learning con ggplot2 - Figura 1.2.
- Gráficos de An Introduction to Statistical Learning con ggplot2 - Figura 1.3.
- Gráficos de An Introduction to Statistical Learning con ggplot2 - Figura 1.4.
- Gráficos de An Introduction to Statistical Learning con ggplot2 y plotly - Figura 1.4. interactiva
- Gráficos de An Introduction to Statistical Learning con ggplot2 y plotly - Figura 2.1.
- Gráficos de An Introduction to Statistical Learning con ggplot2 - Figura 2.2.
- Gráficos de An Introduction to Statistical Learning con ggplot2 - Figura 2.3.
Referencias
No hay comentarios:
Publicar un comentario