knitr::opts_chunk$set(echo = FALSE) library(learnr) library(dplyr) library(tidyr) library(lubridate) library(readr) library(readxl) library(tibble) library(gradethis) tutorial_options(exercise.checker = gradethis::grade_learnr) directores <- tibble( director = c("Spielberg", "Scorsese", "Hitchcock", "Tarantino", "Polanski"), nacionalidad = c("EEUU", "EEUU", "RU", "EEUU", "POL")) peliculas <- tibble( director = c("Spielberg", "Scorsese", "Hitchcock", "Hitchcock", "Spielberg", "Tarantino", "Polanski"), pelicula = c("Super 8", "Taxi Driver", "Psycho", "North by Northwest", "Catch Me If You Can", "Reservoir Dogs", "Chinatown")) premios <- tibble( pelicula = c("Catch Me If You Can", "Super 8", "North by Northwest", "Chinatown", "Psycho"), premio = c("Oscar", "Golden", "Oscar", "Grammy", "Tony"))
knitr::include_graphics( "https://storage.googleapis.com/datos_cursos/ixpantia_introR/ixpantia_logo.png" )
Para la sesión utilizaremos tres conjuntos de datos distintos:
Contiene información sobre 5 directores de cine. Consta de 2 variables y 5 observaciones.
glimpse(directores)
Descripción de las columnas:
| Variable | Descripción |
| :----------: | :--------------------------------: |
| director
| Apellido del director |
| nacionalidad
| País de donde proviene |
Contiene información sobre 5 películas conocidas. Consta de de 7 observaciones y 2 variables.
glimpse(peliculas)
Descripción de las columnas:
| Variable | Descripción |
| :----------: | :--------------------------------: |
| director
| Apellido del director |
| pelicula
| Nombre de la película |
Contiene información sobre los premios de cine ganados por distintas películas. Consta de 5 observaciones y 2 variables.
glimpse(premios)
Descripción de las columnas:
| Variable | Descripción |
| :----------: | :--------------------------------: |
| pelicula
| Nombre de la película |
| premio
| Nombre del premio que recibió |
En el conjunto de datos directores tenemos información sobre directores de cine famosos y su nacionalidad, mientras que en peliculas tenemos información sobre películas conocidas y su director. Ahora una estos dos sets de forma que podamos calcular el número de películas de cada director.
"inner_join"
grade_result( pass_if(~ identical(unlist(.result), unlist(inner_join(directores, peliculas) %>% group_by(director) %>% tally())), "¡Bien hecho!") )
right_join
y left_join
?Puede utilizar este espacio para hacer ejercicios con right_join
y
left_join
antes de contestar la pregunta
question("¿Cuál es la diferencia entre `right_join` y `left_join`?", answer("`right_join` no completa la union entre los dos conjuntos de datos"), answer("`left_join` une solo las observaciones que están en ambos conjuntos de datos"), answer("`right_join` toma solo las observaciones que concuerden con el conjunto de datos de la derecha", correct = TRUE), answer("`left_join` toma solo las observaciones que no están en el conjunto de la izquierda"), incorrect = "Incorrecto", correct = "Correcto")
los conjuntos de datos peliculas
con premios
Utilizando alguno de los joins vistos, obtenga un conjunto de datos que tenga
las observaciones que concuerdan en los conjuntos de datos peliculas
con
premios
. Las demás observaciones las debe de excluir
"inner"
grade_result( pass_if(~ identical(unlist(.result), unlist(inner_join(peliculas, premios))), "¡Excelente!") )
full_join
entre directores y peliculas?Al hacer un full_join
entre los conjuntos de datos directores y
peliculas, el conjunto de datos resultante, ¿qué características tendría?
question("¿Qué resulta de un `full_join` entre directores y peliculas?", answer("Un conjunto de datos con solo las observaciones que coinciden en ambos casos"), answer("Un conjunto de datos con las observaciones de directores que coinciden en películas"), answer("Un conjunto de datos con las observaciones de películas que coinciden en directores"), answer("Un conjunto de datos que contiene la información de ambos sets", correct = TRUE), incorrect = "Incorrecto", correct = "Correcto")
anti_join
entre peliculas y directores?question("¿Qué resultaría de un `anti_join` entre peliculas y directores? ", answer("Un set de datos con 12 observaciones"), answer("Un set de datos con 5 observaciones"), answer("Un set de datos con 7 observaciones"), answer("Un set de datos con 0 observaciones", correct = TRUE), incorrect = "Incorrecto", correct = "Correcto")
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.