A13_MAE118_MM24051
Ejercicio 1: Haciendo uso del dataframe mtcars (ya cargado en la sesión de r) resuelve los siguientes ejercicios:
A. Selecciona solo los automóviles que tienen un consumo de gasolina (mpg) mayor que 25 y un peso (wt) menor que 2.5
## mpg cyl disp hp drat wt qsec vs am gear carb
## Fiat 128 32.4 4 78.7 66 4.08 2.200 19.47 1 1 4 1
## Honda Civic 30.4 4 75.7 52 4.93 1.615 18.52 1 1 4 2
## Toyota Corolla 33.9 4 71.1 65 4.22 1.835 19.90 1 1 4 1
## Fiat X1-9 27.3 4 79.0 66 4.08 1.935 18.90 1 1 4 1
## Porsche 914-2 26.0 4 120.3 91 4.43 2.140 16.70 0 1 5 2
## Lotus Europa 30.4 4 95.1 113 3.77 1.513 16.90 1 1 5 2
B. Ordena los automóviles por su potencia (hp) de forma ascendente y muestra solo las
columnas mpg, hp y wt.2
##
## Adjuntando el paquete: 'dplyr'
## The following objects are masked from 'package:stats':
##
## filter, lag
## The following objects are masked from 'package:base':
##
## intersect, setdiff, setequal, union
## mpg hp wt
## Honda Civic 30.4 52 1.615
## Merc 240D 24.4 62 3.190
## Toyota Corolla 33.9 65 1.835
## Fiat 128 32.4 66 2.200
## Fiat X1-9 27.3 66 1.935
C. Crea una nueva columna llamada kpl, que contenga el consumo de gasolina en kilómetros por litro, sabiendo que 1 mpg equivale a 0.4251 kpl.
autos <- mtcars %>%
mutate(kpl = mpg * 0.4251)
# NOTA
# mutate() → crea o modifica columnas.
# kpl = mpg * 0.4251 → crea la nueva columna kpl.
# mpg → toma el valor de consumo de cada automóvil.
# verlo
autos %>%
head(5)## mpg cyl disp hp drat wt qsec vs am gear carb kpl
## Mazda RX4 21.0 6 160 110 3.90 2.620 16.46 0 1 4 4 8.92710
## Mazda RX4 Wag 21.0 6 160 110 3.90 2.875 17.02 0 1 4 4 8.92710
## Datsun 710 22.8 4 108 93 3.85 2.320 18.61 1 1 4 1 9.69228
## Hornet 4 Drive 21.4 6 258 110 3.08 3.215 19.44 1 0 3 1 9.09714
## Hornet Sportabout 18.7 8 360 175 3.15 3.440 17.02 0 0 3 2 7.94937
D. Calcula la media, la mediana y la desviación estándar del consumo de gasolina (mpg) de todos los automóviles.
## media mediana desviacion_estandar
## 1 20.09062 19.2 6.026948
E. Agrupa los automóviles por el número de cilindros (cyl) y calcula la media y la desviación estándar del consumo de gasolina (mpg) por cada grupo.
## # A tibble: 3 × 3
## cyl media desviacion_estandar
## <dbl> <dbl> <dbl>
## 1 4 26.7 4.51
## 2 6 19.7 1.45
## 3 8 15.1 2.56
Ejercicio 2: instala la librería pwt10, usa el siguiente comando pwt<-pwt10::pwt10.01 para crear el dataframe pwt,
A. Seleccionar solo los países que pertenecen a América Latina. Puedes usar el código ISO de tres letras para identificarlos. Por ejemplo, el código de El Salvador es SLV. Guarda los resultados en el objeto pwt_latam
library(dplyr)
pwt <- pwt10::pwt10.01
pwt_latam <- pwt %>%
filter(isocode %in% c(
"ARG", "BOL", "BRA", "CHL", "COL", "CRI", "CUB",
"DOM", "ECU", "SLV", "GTM", "HND", "HTI", "JAM",
"MEX", "NIC", "PAN", "PRY", "PER", "URY", "VEN"
))
# %in% significa “está dentro de” o “pertenece a”.
pwt_latam %>%
select(country, isocode) %>% # isocode es la columna que contiene los códigos ISO.
distinct() # distinct() elimina los países que aparecen repetidos.## country isocode
## ARG-1950 Argentina ARG
## BOL-1950 Bolivia (Plurinational State of) BOL
## BRA-1950 Brazil BRA
## CHL-1950 Chile CHL
## COL-1950 Colombia COL
## CRI-1950 Costa Rica CRI
## DOM-1950 Dominican Republic DOM
## ECU-1950 Ecuador ECU
## GTM-1950 Guatemala GTM
## HND-1950 Honduras HND
## HTI-1950 Haiti HTI
## JAM-1950 Jamaica JAM
## MEX-1950 Mexico MEX
## NIC-1950 Nicaragua NIC
## PAN-1950 Panama PAN
## PER-1950 Peru PER
## PRY-1950 Paraguay PRY
## SLV-1950 El Salvador SLV
## URY-1950 Uruguay URY
## VEN-1950 Venezuela (Bolivarian Republic of) VEN
B. Calcula el ingreso per cápita promedio (rgdpe/pop) y el índice de capital humano promedio (hc) de los países latinoamericanos en el año 2019.
pwt_latam %>%
filter(year == 2019) %>%
summarise(
ingreso_per_capita_promedio = mean(rgdpe / pop, na.rm = TRUE),
capital_humano_promedio = mean(hc, na.rm = TRUE)
)## ingreso_per_capita_promedio capital_humano_promedio
## 1 13155.77 2.663226
C. Agrupa los países latinoamericanos por su nivel de ingreso según el Banco Mundial. Puedes usar la siguiente clasificación: bajo (menos de 1026 USD), bajo-medio (entre 1026 y 3995 USD), medio-alto (entre 3996 y 12375 USD) y alto (más de 12375 USD).
pwt_latam <- pwt_latam %>%
mutate(
ingreso_per_capita = rgdpe / pop,
nivel_ingreso = case_when(
ingreso_per_capita < 1026 ~ "Bajo",
ingreso_per_capita >= 1026 & ingreso_per_capita <= 3995 ~ "Bajo-medio",
ingreso_per_capita >= 3996 & ingreso_per_capita <= 12375 ~ "Medio-alto",
ingreso_per_capita > 12375 ~ "Alto"
)
)
pwt_latam %>%
filter(year == 2019) %>%
group_by(nivel_ingreso) %>%
summarise(
cantidad_paises = n_distinct(country)
) ## # A tibble: 4 × 2
## nivel_ingreso cantidad_paises
## <chr> <int>
## 1 Alto 10
## 2 Bajo 1
## 3 Bajo-medio 1
## 4 Medio-alto 8
D. Calcula el crecimiento promedio del PIB real (rgdpe) por cada grupo de ingreso entre 2015 y 2019 (usa los resultados del ítem anterior).
crecimiento <- pwt_latam %>%
filter(year %in% c(2015, 2019)) %>%
group_by(country, nivel_ingreso) %>%
summarise(
rgdpe_2015 = rgdpe[year == 2015][1],
rgdpe_2019 = rgdpe[year == 2019][1],
.groups = "drop"
) %>%
mutate(
crecimiento = ((rgdpe_2019 / rgdpe_2015)^(1/4) - 1) * 100
)
crecimiento %>%
group_by(nivel_ingreso) %>%
summarise(
crecimiento_promedio = mean(crecimiento, na.rm = TRUE)
)## # A tibble: 4 × 2
## nivel_ingreso crecimiento_promedio
## <chr> <dbl>
## 1 Alto 2.60
## 2 Bajo NaN
## 3 Bajo-medio -2.86
## 4 Medio-alto 2.68