purrr och histogram
Nu ska du sätta ihop allt du har lärt dig, med utgångspunkt i två olika listor som omvandlas till ett facetterat histogram. Du arbetar återigen med Star Wars-data från datamängderna sw_films och sw_people för att besvara en fråga:
- Hur ser fördelningen av karaktärernas längder ut i varje Star Wars-film?
Olika filmer utspelar sig på olika planeter, så du kan förvänta dig att se olika fördelningar av längder bland karaktärerna. Din första uppgift är att omvandla de två datamängderna till dataramar, eftersom ggplot() kräver en dataram som indata. Sedan slår du ihop dem och visualiserar resultatet som ett histogram med en separat facett, eller delplot, för varje film.
Den här övningen är en del av kursen
Grunderna i funktionell programmering med purrr
Övningsinstruktioner
- Skapa en dataram med
"title"för varje film och"characters"från varje film i datamängdensw_films. - Skapa en dataram med elementen
"height","mass","name"och"url"frånsw_people. - Slå ihop de två dataramarna med nycklarna
"characters"och"url". - Skapa ett
ggplot()-histogram medx = height, facetterat efterfilmtitle.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# 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(~ ___)