2.2 Práctica Guiada

En esta ocasión utilizaremos los datos de la librería gapminder para utilizar todo lo que aprendimos sobre el tidyverse.

## Observations: 1,704
## Variables: 6
## $ country   <fct> Afghanistan, Afghanistan, Afghanistan, Afghanistan, Af…
## $ continent <fct> Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, Asia, …
## $ year      <int> 1952, 1957, 1962, 1967, 1972, 1977, 1982, 1987, 1992, …
## $ lifeExp   <dbl> 28.801, 30.332, 31.997, 34.020, 36.088, 38.438, 39.854…
## $ pop       <int> 8425333, 9240934, 10267083, 11537966, 13079460, 148803…
## $ gdpPercap <dbl> 779.4453, 820.8530, 853.1007, 836.1971, 739.9811, 786.…

2.2.1 Ejemplo 1

Calcular el promedio, el máximo y el mínimo de la esperanza de vida de cada continente en el año 2007. Presentar los datos ordenados según la esperanza de vida promedio.

Necesitamos filtrar los datos tal que sólo queden aquellos correspondientes a 2007. Luego, agrupamos los casos de acuerdo a su continente, y calculamos los indicadores agregados solicitados. Luego, ordenamos los resultados.

## # A tibble: 5 x 4
##   continent esp_vida_prom esp_vida_max esp_vida_min
##   <fct>             <dbl>        <dbl>        <dbl>
## 1 Africa             54.8         76.4         39.6
## 2 Asia               70.7         82.6         43.8
## 3 Americas           73.6         80.7         60.9
## 4 Europe             77.6         81.8         71.8
## 5 Oceania            80.7         81.2         80.2

2.2.2 Ejemplo 2

Construir una nueva variable en el dataset que contenga una estimación del PBI. Estimar la mediana del PBI, y construir otra variable que tome valor “ALTO” cuando el PBI supera ese valor, y “BAJO” cuando no.

Calculamos el PBI como el producto entre la población y el PBI per cápita para cada uno de los países y años. A continuación, guardamos el cálculo de la mediana del PBI en un valor llamado mediana_GDP. Por último, utilizamos la función case_when para poder construir la variable de nivel de PBI de acuerdo a la condición lógica solicitada. Nótese que el dataframe ejercicio2 ha sido re-escrito.

## # A tibble: 6 x 8
##   country    continent  year lifeExp     pop gdpPercap        GDP GDP_level
##   <fct>      <fct>     <int>   <dbl>   <int>     <dbl>      <dbl> <chr>    
## 1 Afghanist… Asia       1952    28.8  8.43e6      779.    6.57e 9 BAJO     
## 2 Afghanist… Asia       1957    30.3  9.24e6      821.    7.59e 9 BAJO     
## 3 Afghanist… Asia       1962    32.0  1.03e7      853.    8.76e 9 BAJO     
## 4 Afghanist… Asia       1967    34.0  1.15e7      836.    9.65e 9 BAJO     
## 5 Afghanist… Asia       1972    36.1  1.31e7      740.    9.68e 9 BAJO     
## 6 Afghanist… Asia       1977    38.4  1.49e7      786.    1.17e10 BAJO

2.2.3 Ejemplo 3

Crear una copia de la base donde sólo se conserven las variables country, year y lifeExp, pero con los nombres pais, anio y espVida.

Utilizamos select() para quedarnos con las columnas solicitadas, y rename() para cambiar sus nombres.

## # A tibble: 6 x 3
##   pais         anio espVida
##   <fct>       <int>   <dbl>
## 1 Afghanistan  1952    28.8
## 2 Afghanistan  1957    30.3
## 3 Afghanistan  1962    32.0
## 4 Afghanistan  1967    34.0
## 5 Afghanistan  1972    36.1
## 6 Afghanistan  1977    38.4

2.2.4 Ejemplo 4

Crear una copia de la base donde sólo se conserven las variables country, year y gdpPercap, pero con los nombres pais, anio y pbiPercap.

## # A tibble: 6 x 3
##   pais         anio pbiPercap
##   <fct>       <int>     <dbl>
## 1 Afghanistan  1952      779.
## 2 Afghanistan  1957      821.
## 3 Afghanistan  1962      853.
## 4 Afghanistan  1967      836.
## 5 Afghanistan  1972      740.
## 6 Afghanistan  1977      786.

2.2.5 Ejemplo 5

Crear una nueva tabla que contenga los datos de las tablas ejercicio3 y ejercicio4. Deben unirse de acuerdo al pais y al anio.

Podemos utilizar la función left_join().

## # A tibble: 6 x 4
##   pais         anio espVida pbiPercap
##   <fct>       <int>   <dbl>     <dbl>
## 1 Afghanistan  1952    28.8      779.
## 2 Afghanistan  1957    30.3      821.
## 3 Afghanistan  1962    32.0      853.
## 4 Afghanistan  1967    34.0      836.
## 5 Afghanistan  1972    36.1      740.
## 6 Afghanistan  1977    38.4      786.

2.2.6 Ejemplo 6

Presentar los datos de la tabla ejercicio1 de forma tal que esp_vida_prom, esp_vida_max y esp_vida_min sean valores de una variable llamada indicador, y los valores se encuentren en la variable valor.

Utilizamos gather(), porque queremos transformar los datos de un formato “horizontal” a uno “vertical”.

## # A tibble: 6 x 3
##   continent indicador     valor
##   <fct>     <chr>         <dbl>
## 1 Africa    esp_vida_prom  54.8
## 2 Asia      esp_vida_prom  70.7
## 3 Americas  esp_vida_prom  73.6
## 4 Europe    esp_vida_prom  77.6
## 5 Oceania   esp_vida_prom  80.7
## 6 Africa    esp_vida_max   76.4