purrr a histogramy
Teď dáš dohromady všechno, co ses naučil/a – začneš se dvěma různými listy, ze kterých vznikne fazetovaný histogram. Opět budeš pracovat s daty ze Star Wars, konkrétně z datasetů sw_films a sw_people, a odpovíš na otázku:
- Jaké je rozložení výšek postav v jednotlivých filmech Star Wars?
Různé filmy se odehrávají na různých planetách, takže rozložení výšek postav se může film od filmu lišit. Tvým prvním úkolem je převést oba datasety na datové rámce, protože ggplot() jako vstup datový rámec vyžaduje. Pak je spojíš dohromady a zobrazíš výsledek jako histogram, kde každý film bude mít svůj vlastní panel.
Toto cvičení je součástí kurzu
Foundations of Functional Programming with purrr
Pokyny k cvičení
- Vytvoř datový rámec s
"title"každého filmu a"characters"z datasetusw_films. - Vytvoř datový rámec s prvky
"height","mass","name"a"url"z datasetusw_people. - Spoj oba datové rámce pomocí klíčů
"characters"a"url". - Vytvoř histogram pomocí
ggplot()sx = height, fazetovaný podlefilmtitle.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# 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(~ ___)