开始使用免费开始使用

对每个嵌套数据集执行线性回归

现在,您已经把每个国家的数据分成独立的数据集并放在 data 列中,需要为每个数据集拟合一个线性模型。

purrr 中的 map() 函数会将一个公式应用到列表中的每个元素,其中 . 代表当前的单个元素。例如,您可以给一个数字列表的每个元素加 1:

map(numbers, ~ 1 + .)

这意味着要对每个数据集拟合一个模型,您可以这样做:

map(data, ~ lm(percent_yes ~ year, data = .))

其中 . 代表 by_year_countrydata 列里的每个元素。请回忆,data 列中的每个元素都是与某个特定国家相关的数据集。

本练习是课程的一部分

案例研究:R 中的探索性数据分析

查看课程

练习说明

  • 加载 tidyrpurrr 包。
  • 完成嵌套后,在 mutate() 中使用 map(),对每个数据集(即 by_year_countrydata 列的每个元素)执行线性回归,用 year 解释 percent_yes。将结果保存到 model 列。

交互式实操练习

通过完成这段示例代码来试试这个练习。

# Load tidyr and purrr



# Perform a linear regression on each item in the data column
by_year_country %>%
  nest(-country)
  
编辑并运行代码