Лінійна регресія для кожного вкладеного набору даних
Тепер, коли ви розділили дані для кожної країни на окремий набір у стовпці data, потрібно підігнати лінійну модель для кожного з цих наборів даних.
Функція map() з пакета purrr застосовує формулу до кожного елемента списку, де . позначає окремий елемент. Наприклад, можна додати одиницю до кожного числа у списку чисел:
map(numbers, ~ 1 + .)
Отже, щоб підігнати модель для кожного набору даних, ви можете зробити так:
map(data, ~ lm(percent_yes ~ year, data = .))
тут . представляє кожен окремий елемент зі стовпця data у by_year_country. Нагадаємо, що кожен елемент у стовпці data — це набір даних, який стосується певної країни.
Ця вправа є частиною курсу
Кейс-стаді: розвідувальний аналіз даних у R
Інструкції до вправи
- Імпортуйте пакети
tidyrіpurrr. - Після вкладення використайте функцію
map()всерединіmutate(), щоб виконати лінійну регресію для кожного набору даних (тобто кожного елемента у стовпціdataвby_year_country), моделюючиpercent_yesяк функцію відyear. Збережіть результати у стовпціmodel.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)