purrr और histograms
अब आप वह सब एक साथ उपयोग करने जा रहे हैं जो आपने सीखा है, दो अलग-अलग लिस्ट से शुरू करते हुए, जिन्हें एक faceted histogram में बदला जाएगा। आप फिर से sw_films और sw_people डेटासेट्स के Star Wars डेटा के साथ काम करेंगे ताकि इस सवाल का जवाब दें:
- हर Star Wars फ़िल्म में पात्रों की ऊँचाइयों का वितरण क्या है?
अलग-अलग फ़िल्में अलग-अलग ग्रहों पर घटित होती हैं, इसलिए आप पात्रों की ऊँचाइयों के वितरण में फ़र्क देख सकते हैं। आपका पहला काम दोनों डेटासेट्स को data frames में बदलना है क्योंकि ggplot() को data frame इनपुट चाहिए। फिर आप उन्हें आपस में join करेंगे और नतीजा प्लॉट करेंगे—एक histogram, जिसमें हर फ़िल्म के लिए अलग facet (subplot) होगा।
यह अभ्यास पाठ्यक्रम का हिस्सा है
purrr के साथ Functional Programming की बुनियाद
अभ्यास निर्देश
sw_filmsडेटासेट में से हर फ़िल्म का"title"और उस फ़िल्म के"characters"लेकर एक data frame बनाएँ।sw_peopleसे"height","mass","name", और"url"तत्वों वाला एक data frame बनाएँ।"characters" और"url" keys का उपयोग करके इन दोनों data frames को आपस में join करें।x = heightके साथggplot()histogram बनाएँ, जिसेfilmtitleके आधार पर faceting किया गया हो।
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
# 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(~ ___)