НачатьНачать бесплатно

Линейная регрессия для каждого вложенного набора данных

Теперь, когда данные по каждой стране разделены на отдельные наборы в столбце 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)
  
Редактировать и запускать код