對每個巢狀資料集執行線性迴歸
現在你已經把每個國家的資料分割,放到 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)