knitr::opts_chunk$set(echo = FALSE) library(learnr) library(gradethis) library(dplyr) library(janitor) library(tidyr) library(untidydata) tutorial_options(exercise.checker = gradethis::grade_learnr) vocales <- spanish_vowels %>% select(-f2) separado <- separate(data = vocales, col = label, into = c("participante", "sexo", "vocal"), sep = "-") ancho <- pivot_wider(separado, names_from = vocal, values_from = f1)
knitr::include_graphics( "https://storage.googleapis.com/datos_cursos/ixpantia_introR/ixpantia_logo.png" )
Este es un set de datos que contiene datos sobre la frecuencia del uso de las vocales en español de participantes un estudio en 1985. Contiene 750 observaciones y 4 variables.
glimpse(vocales)
Descripción de las variables:
| Variable | Descripcion |
| :--------: | :-----------: |
| label
| Código del participante |
| rep
| Repetición |
| f1
| Vector numérico indicando la vocal F1 en Hz |
label
en participante
, sexo
y vocal
La variable label
en el conjunto de datos vocales está compuesta por tres
elementos distintos, por ejemplo: p01-male-a
se puede separar en p01
, male
y a
y así obtenemos un conjunto de datos más ordenado y fácil de utilizar.
Separe esta columna en tres nuevas columnas: participante
, sexo
y vocal
.
into = c("participante", "sexo", "vocal"), sep = "-"
grade_result( pass_if(~ identical(unlist(.result), unlist(separate(data = vocales, col = label, into = c("participante", "sexo", "vocal"), sep = "-"))), "¡Genial!") )
participante
, sexo
y vocal
en la columna original label
Anteriormente separamos la columna label
de vocales en tres columnas
distintas, esto quedó guardado en el set de datos separado. Ahora una estas
tres columnas de forma que volvamos a la columna label
original pero esta vez
separelo con un "_".
sep = "_"
grade_result( pass_if(~ identical(unlist(.result), unlist(unite(separado, col="label", participante:vocal, sep = "_"))), "¡Bien hecho!") )
Partiendo de separado, vea que este es un conjunto de datos muy largo ya que se repiten mucho las observaciones por participante, ahora, utilizando las herramientas de tidyr conviértalo en un set de datos ancho donde cada vocal represente una columna.
pivot_wider()
values_from = f1
grade_result( pass_if(~ identical(unlist(.result), unlist( pivot_wider(separado, names_from = vocal, values_from = f1))), "¡Excelente!") )
En el ejercicio anterior creamos un conjunto de datos ancho el cuál quedó guardado como ancho, ahora utilizando alguna herramienta de tidyr, vuelva al conjunto original desde donde partimos: separado
grade_result( pass_if(~ identical(unlist(.result), unlist( pivot_wider(separado, names_from = vocal, values_from = f1))), "¡Bien!") )
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.