Capítulo 7 Gráficas en R
El objetivo de esta capítulo es mostrarle al lector cómo hacer gráficos generales en R
. En todo análisis de encuestas, el componente gráfico es fundamental para revisar tendencias en algunas variables de interés. También son muy necesarias las gráficas cuando se el objetivo es chequear algunos supuestos en el ajustes de modelo, por ejemplo, varianza constante en los errores, normalidad, etc.
Uno de los paquetes más usados para graficar en R
es ggplot2 el cual es un paquete potente y flexible, implementado por Hadley Wickham, para producir gráficos elegantes. El gg en ggplot2 significa Grammar of Graphics, el cual es un concepto gráfico que describe gráficos usando gramática.
Como es de costumbre, se inicia este capítulo cargando las librerías y bases de datos:
# knitr::opts_chunk$set(cache = TRUE, warning = FALSE, message = FALSE, error = FALSE)
options(digits = 4)
library(survey)
library(srvyr)
library(convey)
library(TeachingSampling)
library(printr)
library(ggplot2)
library(patchwork)
El cargue de la base de datos se hace a continuación,
data(BigCity, package = "TeachingSampling")
<- readRDS("Data/encuesta.rds") encuesta
A continuación, se define el diseño de muestreo:
library(srvyr)
<- encuesta %>%
diseno as_survey_design(
strata = Stratum,
ids = PSU,
weights = wk,
nest = T
)
A partir de las variables de la encuesta, para efectos de los ejemplos, se definen las siguientes variables:
<- diseno %>% mutate(
diseno pobreza = ifelse(Poverty != "NotPoor", 1, 0),
desempleo = ifelse(Employment == "Unemployed", 1, 0),
edad_18 = case_when(
< 18 ~ "< 18 años",
Age TRUE ~ ">= 18 años"
) )
Como se mostró en capítulos anteriores, se divide la muestra en sub grupos para ejemplificar los conceptos que se mostrarán en este capítulo:
<- diseno %>% filter(Zone == "Urban")
sub_Urbano <- diseno %>% filter(Zone == "Rural")
sub_Rural <- diseno %>% filter(Sex == "Female")
sub_Mujer <- diseno %>% filter(Sex == "Male") sub_Hombre
Para crear las gráficas en este texto se utilizará por defecto el tema que la CEPAL tiene asignado por defecto. El tema se define a continuación:
<- function(...) {
theme_cepal theme_light(10) +
theme(
axis.text.x = element_blank(),
axis.ticks.x = element_blank(),
axis.text.y = element_blank(),
axis.ticks.y = element_blank(),
legend.position = "bottom",
legend.justification = "left",
legend.direction = "horizontal",
plot.title = element_text(size = 20, hjust = 0.5),
...
) }