Regresie liniară pe fiecare set de date imbricat
Acum că ai împărțit datele pentru fiecare țară într-un set de date separat în coloana data, trebuie să ajustezi un model liniar pentru fiecare dintre aceste seturi de date.
Funcția map() din purrr aplică o formulă fiecărui element dintr-o listă, unde . reprezintă elementul curent. De exemplu, poți adăuga unu la fiecare număr dintr-o listă astfel:
map(numbers, ~ 1 + .)
Prin urmare, pentru a ajusta un model fiecărui set de date, poți folosi:
map(data, ~ lm(percent_yes ~ year, data = .))
unde . reprezintă fiecare element din coloana data a obiectului by_year_country. Reamintește-ți că fiecare element din coloana data este un set de date corespunzător unei anumite țări.
Acest exercițiu face parte din cursul
Studiu de caz: Analiza exploratorie a datelor în R
Instrucțiuni pentru exercițiu
- Încarcă pachetele
tidyrșipurrr. - După imbricare, folosește funcția
map()în interiorul unuimutate()pentru a efectua o regresie liniară pe fiecare set de date (adică pe fiecare element din coloanadataa obiectuluiby_year_country), modelândpercent_yesca funcție deyear. Salvează rezultatele în coloanamodel.
Exercițiu interactiv practic
Încearcă acest exercițiu completând acest cod de exemplu.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)