library(learnr) knitr::opts_chunk$set(echo = FALSE) library(readr) library(dplyr) library(tidyr) library(gradethis) tutorial_options(exercise.checker = gradethis::grade_learnr) gap_ancho <- readr::read_csv( 'https://raw.githubusercontent.com/OHI-Science/data-science-training/master/data/gapminder_wide.csv' ) gapminder <- readr::read_csv( 'https://raw.githubusercontent.com/OHI-Science/data-science-training/master/data/gapminder.csv' ) gap_largo <- gather(gap_ancho, key = obstype_year, value = obs_values, -continent, -country)
knitr::include_graphics( "https://storage.googleapis.com/datos_cursos/ixpantia_introR/ixpantia_logo.png" )
Este conjunto de datos contiene información sobre distintos países, como características demográficas y económicas. Se conforma de 38 variables y 142 observaciones. Como podrán ver, la base está un poco desordenada y parece tener mucho espacio para mejoras.
glimpse(gap_ancho)
Descripción de las variables:
Nota: algunas variables comparten la primera palabra de su nombre con otras, por lo que solo se describen estos inicios de nombres ya que son muchas variables y describir todas resultaría muy largo y repetitivo.
| Variable | Descripción |
| :--------: | :-----------: |
| continent
| Continente al que pertenece el país |
| country
| Nombre del país |
| gdpPercap
| PIB per cápita del país para el año indicado |
| lifeExp
| Esperanza de vida del país para el año indicado |
| pop
| Población del país para el año indicado |
pivot_longer()
El conjunto de datos gap_ancho no está ordenado, es más ancho de lo que
debería. Utilizando la función pivot_longer
convierta gap_ancho en un
conjunto de datos con una nueva columna obstype_year con los nombres de
las variables y obs_values con sus valores.
pivot_longer(gap_ancho, )
names_to = "obstype_year"
values_to = "obs_values"
grade_result( pass_if(~ identical(unlist(.result), unlist( pivot_longer(gap_ancho, cols= gdpPercap_1952:pop_2007, names_to = "obstype_year", values_to = "obs_values"))), "¡Buenísimo!") )
pivot_wider
Anteriormente acomodamos el conjunto de datos original utilizando
pivot_longer()
, este conjunto de datos quedó guardado como gap_largo.
Ahora utilice pivot_wider()
para volver al formato original de los datos.
pivot_wider(gap_largo, )
cols= gdpPercap_1952:pop_2007
"names_from = obstype_year"
"values_from = obs_values"
grade_result( pass_if(~ identical(unlist(.result), unlist(pivot_wider(gap_largo, names_from = obstype_year, values_from = obs_values))), "¡Excelente!") )
obstype_type
en dos columnas: obstype
y year
En el conjunto de datos de gap_largo hay una columna llamada obstype_year
que contiene la característica demográfica o económica y el año de registro de
la misma. Utilice la función separate()
para separar esta columna en dos
nuevas: obstype
y year
. Recuerde observar el símbolo que hay como patrón
para separar cada uno de los valores
separate(data = gap_largo, )
"into = c('obstype', 'year')"
"sep = '_'"
grade_result( pass_if(~ identical(unlist(.result), unlist(separate(data = gap_largo, col = obstype_year, into = c('obstype', 'year'), sep = '_'))), "¡Bien hecho!") )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.