Regresja liniowa na każdym zagnieżdżonym zbiorze danych
Teraz, gdy dane dla każdego kraju zostały podzielone na osobne zbiory danych w kolumnie data, musisz dopasować model liniowy do każdego z nich.
Funkcja map() z pakietu purrr działa poprzez zastosowanie formuły do każdego elementu listy, gdzie . reprezentuje pojedynczy element. Na przykład, aby dodać jeden do każdej liczby na liście:
map(numbers, ~ 1 + .)
Oznacza to, że aby dopasować model do każdego zbioru danych, możesz napisać:
map(data, ~ lm(percent_yes ~ year, data = .))
gdzie . reprezentuje każdy pojedynczy element z kolumny data w by_year_country. Pamiętaj, że każdy element w kolumnie data to zbiór danych dotyczący konkretnego kraju.
To ćwiczenie jest częścią kursu
Studium przypadku: eksploracyjna analiza danych w R
Instrukcje do ćwiczenia
- Wczytaj pakiety
tidyripurrr. - Po zagnieżdżeniu danych użyj funkcji
map()wewnątrzmutate(), aby przeprowadzić regresję liniową na każdym zbiorze danych (czyli na każdym elemencie kolumnydatawby_year_country), modelującpercent_yesjako funkcjęyear. Zapisz wyniki w kolumniemodel.
Interaktywne ćwiczenie praktyczne
Spróbuj tego ćwiczenia, uzupełniając ten przykładowy kod.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)