ÎncepețiÎncepe gratuit

purrr și histograme

Acum vei pune cap la cap tot ce ai învățat, pornind de la două liste diferite, pe care le vei transforma într-un histogram cu fațete. Vei lucra din nou cu datele din universul Star Wars, din seturile de date sw_films și sw_people, pentru a răspunde la o întrebare:

  • Care este distribuția înălțimilor personajelor din fiecare film Star Wars?

Filmele diferite se desfășoară pe planete diferite, așa că te poți aștepta să observi distribuții diferite ale înălțimilor personajelor. Prima ta sarcină este să transformi cele două seturi de date în data frame-uri, deoarece ggplot() necesită un data frame ca intrare. Apoi le vei uni și vei reprezenta grafic rezultatul – un histogram cu câte o fațetă, adică un subplot, pentru fiecare film.

Acest exercițiu face parte din cursul

Bazele programării funcționale cu purrr

Vezi cursul

Instrucțiuni pentru exercițiu

  • Creează un data frame cu "title"-ul fiecărui film și "characters" din fiecare film din setul de date sw_films.
  • Creează un data frame cu elementele "height", "mass", "name" și "url" din sw_people.
  • Unește cele două data frame-uri folosind cheile "characters" și "url".
  • Creează un histogram ggplot() cu x = height, împărțit pe fațete după filmtitle.

Exercițiu interactiv practic

Încearcă acest exercițiu completând acest cod de exemplu.

# 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(~ ___)
Editează și rulează codul