Kom igångKom igång gratis

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

Visa kurs

Övningsinstruktioner

  • Skapa en dataram med "title" för varje film och "characters" från varje film i datamängden sw_films.
  • Skapa en dataram med elementen "height", "mass", "name" och "url" från sw_people.
  • Slå ihop de två dataramarna med nycklarna "characters" och "url".
  • Skapa ett ggplot()-histogram med x = height, facetterat efter filmtitle.

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(~ ___)
Redigera och kör kod