Linjär regression på varje nästlad datamängd
Nu när du har delat upp datan för varje land i en separat datamängd i kolumnen data behöver du anpassa en linjär modell till var och en av dessa datamängder.
Funktionen map() från purrr fungerar genom att tillämpa en formel på varje element i en lista, där . representerar det enskilda elementet. Du kan till exempel lägga till ett till varje tal i en lista:
map(numbers, ~ 1 + .)
Det innebär att du kan anpassa en modell till varje datamängd på följande sätt:
map(data, ~ lm(percent_yes ~ year, data = .))
där . representerar varje enskilt element från kolumnen data i by_year_country. Kom ihåg att varje element i kolumnen data är en datamängd som tillhör ett specifikt land.
Den här övningen är en del av kursen
Fallstudie: Explorativ dataanalys i R
Övningsinstruktioner
- Läs in paketen
tidyrochpurrr. - Efter nästlingen använder du funktionen
map()inutimutate()för att utföra en linjär regression på varje datamängd (dvs. varje element i kolumnendataiby_year_country) därpercent_yesmodelleras som en funktion avyear. Spara resultaten i kolumnenmodel.
Interaktiv övning med praktiskt arbete
Testa den här övningen genom att slutföra den här exempelkoden.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)