각 중첩 데이터셋에 선형 회귀 수행하기
이제 data 열에서 국가별로 데이터를 각각의 데이터셋으로 나누었으니, 각 데이터셋에 선형 모델을 적합해야 해요.
purrr의 map() 함수는 리스트의 각 항목에 공식을 적용하며, .은 개별 항목을 의미합니다. 예를 들어, 숫자 리스트의 각 값에 1을 더하려면 다음과 같이 할 수 있어요:
map(numbers, ~ 1 + .)
따라서 각 데이터셋에 모델을 적합하려면 다음과 같이 하면 됩니다:
map(data, ~ lm(percent_yes ~ year, data = .))
여기서 .은 by_year_country의 data 열에 있는 각 개별 항목을 나타냅니다. data 열의 각 항목은 특정 국가에 해당하는 하나의 데이터셋이라는 점을 기억하세요.
이 연습은 강의의 일부입니다
사례 연구: R로 하는 탐색적 데이터 분석
연습 안내
tidyr와purrr패키지를 로드하세요.- 네스팅한 후,
mutate()안에서map()함수를 사용해 각 데이터셋(즉,by_year_country의data열의 각 항목)에 대해 선형 회귀를 수행하고,percent_yes를year의 함수로 모형화하세요. 결과는model열에 저장하세요.
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Load tidyr and purrr
# Perform a linear regression on each item in the data column
by_year_country %>%
nest(-country)