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"
  )   

Datos: gap_ancho

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 |

Ejercicios

Ordene el conjunto de datos de utilizando 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!")
        )

Vuelva al conjunto de datos original usando 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!")
)

Separe la columna 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!")
)


ixpantia/ixpantia.introR documentation built on Jan. 25, 2024, 2:32 p.m.