class: center, middle .linea-superior[] .linea-inferior[] <img src="imagenes/logo_super_portada.png" width="180" /> # Tarea 3 Soluciones ## Plazo: 27 de junio con puntaje extra o 30 de junio sin extra --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Preámbulo Esta tarea, al igual que en la anterior deberán crear de cero su script. Por favor sea ordenado y utilice tantos comentarios sean necesarios para que se acostumbren a que su trabajo sea autoexplicativo. Recuerde que antes de escribir la respuesta a cada pregunta, debe escribir como comentario en la línea anterior, el numeral que está respondiendo. Por ejemplo: ``` r # Pregunta 2.1 o Pregunta 2: 1, o como usted prefiera hola <- "hola" ``` Si entregan una respuesta sin antes haber puesto como comentario el numeral en la línea anterior tendrán una penalización de **1 décima**. Todas las preguntas utilizarán la librería `dplyr` y una nueva librería llamada `gapminder` que contiene información de 142 países asociada a expectativa de vida, PIB per cápita, población, etc. Dado que esta librería aún no la hemos utilizado en clases, deben instalarla primero para poder cargarla. ¡Recuerden la función para instalar librerías y recuerden poner el nombre en apóstrofes! A su vez, recuerden cargar las dos librerías para poder utilizar las funciones que contienen. --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Pregunta 1 (Acciones típicas al enfrentarse a nuevas bases) Primero cargue las librerías `dplyr` y `gapminder`. El paquete gapminder posee dos bases de datos. La primera se llama de la misma forma que la librería, es decir, `gapminder` y la segunda se llama `gapminder_unfiltered`. En todos los ejercicios de esta tarea utilizaremos la **primera base**. 1.- Asigne la base `gapminder` a un objeto y llámelo `paises`. ``` r library(dplyr) library(gapminder) paises <- gapminder ``` 2.- Imprima las dimensiones del objeto `paises`. ``` r dim(paises) ``` ``` ## [1] 1704 6 ``` --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Pregunta 1 (Acciones típicas al enfrentarse a nuevas bases) 3.- Imprima el nombre de las columnas del objeto `paises`. ``` r names(paises) ``` ``` ## [1] "country" "continent" "year" "lifeExp" "pop" "gdpPercap" ``` 4.- Demuestre de la manera en que usted prefiera (debe ser por medio de código eso sí), que la base `paises` no contiene elementos **NA**. ``` r anyNA(paises) ``` ``` ## [1] FALSE ``` --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Pregunta 2 (Más pipes y verbos de análisis) Mediante el uso de pipes y los verbos vistos en clases haga lo siguiente. 1.- Filtre la base `paises` por aquellos países que forman parte del continente americano y mantengan solo la información asociada al año 2007. Luego quite las columnas `continent` y `lifeExp`. Luego genere una nueva variable que corresponda a la multiplicación de `gdpPercap` y `pop`, y llámela `pib`. Finalmente, ordene la base por la columna `pib` de mayor a menor. ¿En qué puesto está Chile? ``` r paises |> filter(year == 1997 & continent == "Americas") |> select(-continent,-lifeExp) |> mutate(pib = gdpPercap*pop) |> arrange(desc(pib)) ``` ``` ## # A tibble: 25 × 5 ## country year pop gdpPercap pib ## <fct> <int> <int> <dbl> <dbl> ## 1 United States 1997 272911760 35767. 9.76e12 ## 2 Brazil 1997 168546719 7958. 1.34e12 ## 3 Mexico 1997 95895146 9767. 9.37e11 ## 4 Canada 1997 30305843 28955. 8.78e11 ## 5 Argentina 1997 36203463 10967. 3.97e11 ## 6 Colombia 1997 37657830 6117. 2.30e11 ## 7 Venezuela 1997 22374398 10165. 2.27e11 ## 8 Chile 1997 14599929 10118. 1.48e11 ## 9 Peru 1997 24748122 5838. 1.44e11 ## 10 Ecuador 1997 11911819 7429. 8.85e10 ## # ℹ 15 more rows ``` --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Pregunta 2 (Más pipes y verbos de análisis) 2.- Partiendo desde la base original de `paises`, es decir con todas las columnas originales, quite las columnas `pop` y `gdpPercap`. Luego, genere una nueva columna llamada `es_de_america` que tomará el valor `\(1\)` si el país es americano y `\(0\)` si no es americano (¡recuerde la función `if_else`!). Luego, filtre la base para mantener solo los países que tengan el valor `\(0\)` en la columna `es_de_america` (es decir, que no sean americanos). Finalmente, ordene la base según la expectativa de vida (`lifeExp`) de menor a mayor. ¿Cuál es el país con peor expectativa de vida y en qué año fue? ``` r paises |> select(-pop,-gdpPercap) |> mutate(es_de_america = if_else(continent == "Americas",1,0)) |> filter(es_de_america == 0) |> arrange(lifeExp) ``` ``` ## # A tibble: 1,404 × 5 ## country continent year lifeExp es_de_america ## <fct> <fct> <int> <dbl> <dbl> ## 1 Rwanda Africa 1992 23.6 0 ## 2 Afghanistan Asia 1952 28.8 0 ## 3 Gambia Africa 1952 30 0 ## 4 Angola Africa 1952 30.0 0 ## 5 Sierra Leone Africa 1952 30.3 0 ## 6 Afghanistan Asia 1957 30.3 0 ## 7 Cambodia Asia 1977 31.2 0 ## 8 Mozambique Africa 1952 31.3 0 ## 9 Sierra Leone Africa 1957 31.6 0 ## 10 Burkina Faso Africa 1952 32.0 0 ## # ℹ 1,394 more rows ``` --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Pregunta 3 (Estadísticas descriptivas con `group_by()` y `summarise`) 1.- Utilizando como punto de partida la base original, es decir, `paises`, fíltrela para mantener solamente los registros asociados al año 2007. Luego agrupe la base por continente. Utilizando la función `summarise()` muestre las estadísticas asociadas a número de casos (recuerde la función `n()`) y el promedio o media de la expectativa de vida (utilíce la función `mean()` sobre `lifeExp`) (puede poner el nombre que usted prefiera a estas columnas de estadísticas). Finalmente ordene esta nueva base por el promedio de la expectativa de vida de mayor a menor. ¿Qué continente posee la mayor expectativa de vida? ``` r paises |> filter(year == 1997) |> group_by(continent) |> summarise( casos = n(), promedio_exp = mean(lifeExp) ) |> arrange(desc(promedio_exp)) ``` ``` ## # A tibble: 5 × 3 ## continent casos promedio_exp ## <fct> <int> <dbl> ## 1 Oceania 2 78.2 ## 2 Europe 30 75.5 ## 3 Americas 25 71.2 ## 4 Asia 33 68.0 ## 5 Africa 52 53.6 ``` --- background-image: url("imagenes/background.PNG") background-size: contain; background-position: 50% 0% # Pregunta 3 (Estadísticas descriptivas con `group_by()` y `summarise`) 2.- Utilizando como punto de partida la base original, es decir, `paises`, agrupe la base por continente y por año (esto lo pueden hacer utilizando la función `group_by()` e incluyendo las columnas a agrupar separadas por una coma). Utilizando la función `summarise()` muestre la estadística que entregue el valor máximo (recordar función `max()`) de la variable `gdpPercap`. Finalmente ordene esta nueva base por el valor máximo de `gdpPercap` de mayor a menor. ¿A qué continente y en que año se encuentra el máximo valor de PIB per cápita (`gdpPercap`)? ``` r paises |> group_by(continent, year) |> summarise( max_gdppercapita = max(gdpPercap) ) |> arrange(desc(max_gdppercapita)) ``` ``` ## # A tibble: 60 × 3 ## # Groups: continent [5] ## continent year max_gdppercapita ## <fct> <int> <dbl> ## 1 Asia 1957 113523. ## 2 Asia 1972 109348. ## 3 Asia 1952 108382. ## 4 Asia 1962 95458. ## 5 Asia 1967 80895. ## 6 Asia 1977 59265. ## 7 Europe 2007 49357. ## 8 Asia 2007 47307. ## 9 Europe 2002 44684. ## 10 Americas 2007 42952. ## # ℹ 50 more rows ```