purrr dan histogram
Sekarang Anda akan menggabungkan semua yang telah dipelajari, dimulai dari dua list berbeda yang akan diubah menjadi histogram ber-facet. Anda akan kembali bekerja dengan data Star Wars dari himpunan data sw_films dan sw_people untuk menjawab pertanyaan:
- Seperti apa sebaran tinggi badan karakter di setiap film Star Wars?
Film yang berbeda berlangsung di planet yang berbeda, sehingga Anda mungkin akan melihat sebaran tinggi badan karakter yang berbeda pula. Tugas pertama Anda adalah mengubah kedua himpunan data menjadi data frame karena ggplot() memerlukan masukan data frame. Lalu Anda akan menggabungkannya, dan membuat plot berupa histogram dengan facet, atau subplot, berbeda untuk setiap film.
Latihan ini adalah bagian dari kursus
Dasar-dasar Functional Programming dengan purrr
Petunjuk latihan
- Buat data frame dengan
"title"dari setiap film, dan"characters"dari setiap film dalam himpunan datasw_films. - Buat data frame dengan elemen
"height","mass","name", dan"url"darisw_people. - Gabungkan kedua data frame menggunakan kunci
"characters" dan"url". - Buat histogram
ggplot()denganx = height, difacet menurutfilmtitle.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
# 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(~ ___)