Lineární regrese na každém vnořeném datasetu
Teď, když jsi rozdělil/rozdělila data každé země do samostatného datasetu ve sloupci data, je čas na každý z těchto datasetů aplikovat lineární model.
Funkce map() z balíčku purrr aplikuje vzorec na každý prvek seznamu, přičemž . zastupuje vždy konkrétní prvek. Například takto přičteš jedničku ke každému číslu v seznamu:
map(numbers, ~ 1 + .)
Model pro každý dataset tedy vytvoříš takto:
map(data, ~ lm(percent_yes ~ year, data = .))
kde . zastupuje každý jednotlivý prvek ze sloupce data v objektu by_year_country. Každý prvek ve sloupci data je přitom dataset s daty pro konkrétní zemi.
Toto cvičení je součástí kurzu
Případová studie: Explorační analýza dat v R
Pokyny k cvičení
- Načti balíčky
tidyrapurrr. - Po vnořování použij funkci
map()uvnitřmutate()a pro každý dataset (tj. každý prvek ve sloupcidataobjektuby_year_country) proveď lineární regresi modelujícípercent_yesjako funkciyear. Výsledky ulož do sloupcemodel.
Interaktivní cvičení na vyzkoušení si v praxi
Vyzkoušejte si toto cvičení dokončením tohoto ukázkového kódu.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)