purrr e histogramas
Agora você vai juntar tudo o que aprendeu, começando com duas listas diferentes, que serão transformadas em um histograma com facetas. Você vai trabalhar novamente com os dados de Star Wars dos conjuntos sw_films e sw_people para responder a uma pergunta:
- Qual é a distribuição das alturas dos personagens em cada um dos filmes de Star Wars?
Filmes diferentes acontecem em conjuntos diferentes de planetas, então é de se esperar distribuições distintas de alturas entre os personagens. Sua primeira tarefa é transformar os dois conjuntos em data frames, já que ggplot() exige um data frame como entrada. Depois, você vai uni-los e plotar o resultado: um histograma com uma faceta, ou subgráfico, diferente para cada filme.
Este exercício faz parte do curso
Fundamentos de Programação Funcional com purrr
Instruções do exercício
- Crie um data frame com o
"title"de cada filme e os"characters"de cada filme no conjuntosw_films. - Crie um data frame com os elementos
"height","mass","name"e"url"desw_people. - Una os dois data frames usando as chaves
"characters" e"url". - Crie um histograma com
ggplot()usandox = height, com facetas porfilmtitle.
Exercício interativo prático
Experimente este exercício completando este código de exemplo.
# Turn data into correct data frame format
film_by_character <- tibble(filmtitle = map____(___, ___)) %>%
mutate(filmtitle, characters = map(___, ___)) %>%
unnest(cols = c(characters))
# Pull out elements from sw_people
sw_characters <- map____(___, `[`, c(___, ___, ___, ___))
# Join the two new objects
character_data <- inner_join(___, ___, by = c(___ = ___)) %>%
# Make sure the columns are numbers
mutate(height = as.numeric(height), mass = as.numeric(mass))
# Plot the heights, faceted by film title
ggplot(character_data, aes(x = ___)) +
geom_histogram(stat = "count") +
facet_wrap(~ ___)