A13-DPLYR
EJERCICIO 1: dataframe mtcars
A. Autos con mpg > 25 y wt < 2.5
ej1_a <- mtcars %>% filter(mpg > 25, wt < 2.5)
ej1_a
B. Ordenar por hp ascendente, mostrando solo mpg, hp y wt
ej1_b <- mtcars %>% arrange(hp) %>% select(mpg, hp, wt)
ej1_b
C. Nueva columna kpl (1 mpg = 0.4251 kpl)
ej1_c <- mtcars %>% mutate(kpl = mpg * 0.4251)
ej1_c
D. Media, mediana y desviación estándar de mpg (todos los autos)
ej1_d <- mtcars %>% summarise( media_mpg = mean(mpg), mediana_mpg = median(mpg), sd_mpg = sd(mpg) )
ej1_d
E. Media y desviación estándar de mpg agrupado por cyl
ej1_e <- mtcars %>% group_by(cyl) %>% summarise( media_mpg = mean(mpg), sd_mpg = sd(mpg) )
ej1_e
EJERCICIO 2: dataframe pwt (Penn World Table 10.01)
pwt <- pwt10::pwt10.01
Códigos ISO-3 de los países de América Latina
latam_codes <- c(“ARG”, “BOL”, “BRA”, “CHL”, “COL”, “CRI”, “CUB”, “DOM”, “ECU”, “SLV”, “GTM”, “HND”, “MEX”, “NIC”, “PAN”, “PRY”, “PER”, “URY”, “VEN”)
A. Filtrar solo países de América Latina
pwt_latam <- pwt %>% filter(isocode %in% latam_codes)
pwt_latam
B. Ingreso per cápita promedio (rgdpe/pop) e índice de capital
humano promedio (hc) de los países latinoamericanos en 2019
ej2_b <- pwt_latam %>% filter(year == 2019) %>% mutate(ingreso_percapita = rgdpe / pop) %>% summarise( ingreso_percapita_prom = mean(ingreso_percapita, na.rm = TRUE), hc_promedio = mean(hc, na.rm = TRUE) )
ej2_b
C. Clasificar cada país por su nivel de ingreso (Banco Mundial)
usando el ingreso per cápita (rgdpe/pop) del año 2019
ej2_c <- pwt_latam %>% filter(year == 2019) %>% mutate(ingreso_percapita = rgdpe / pop) %>% mutate( nivel_ingreso = case_when( ingreso_percapita < 1026 ~ “Bajo”, ingreso_percapita >= 1026 & ingreso_percapita <= 3995 ~ “Bajo-medio”, ingreso_percapita >= 3996 & ingreso_percapita <= 12375 ~ “Medio-alto”, ingreso_percapita > 12375 ~ “Alto” ) ) %>% select(isocode, country, ingreso_percapita, nivel_ingreso)
ej2_c
D. Crecimiento promedio del PIB real (rgdpe) por grupo de ingreso
entre 2015 y 2019, usando la clasificación del ítem anterior
Tabla de clasificación (país -> nivel de ingreso) obtenida en C
clasificacion <- ej2_c %>% select(isocode, nivel_ingreso)
ej2_d <- pwt_latam %>% filter(year %in% c(2015, 2019)) %>% select(isocode, country, year, rgdpe) %>% tidyr::pivot_wider(names_from = year, values_from = rgdpe, names_prefix = “rgdpe_”) %>% mutate(crecimiento_pib = (rgdpe_2019 - rgdpe_2015) / rgdpe_2015) %>% left_join(clasificacion, by = “isocode”) %>% group_by(nivel_ingreso) %>% summarise( crecimiento_promedio = mean(crecimiento_pib, na.rm = TRUE) )
ej2_d