带变量与包的 foreach
人口增长的速度称为增长率,用百分比表示。几乎所有国家的增长率都在下降,但有些国家下降得更快。
您被聘为人口统计分析师,任务是在 2017 至 2021 年间计算各国人口增长率与全球增长率的比值。您已获得一个数据框列表 ls_df,其中每个元素都是如下所示的数据框:
country year growth_rate
Afghanistan 2017 2.52
...
您还有一个全球增长率数据框 df_global:
year global_growth
2017 1.15
...
已为您加载 foreach 和 dplyr。集群已创建并使用 foreach 后端完成注册。
本练习是课程的一部分
R 并行编程
练习说明
- 在
foreach()调用中将df_global导出到集群。 - 指定计算所需的
dplyr包。 - 将合并方法指定为
rbind。 - 使用并行运算符。
交互式实操练习
通过完成这段示例代码来试试这个练习。
df_comp <- foreach(df = ls_df,
# Export variable
___,
# Specify any package needed
___,
# Specify a combine method
___
# Use the parallel operator
) ___ {
df %>%
left_join(df_global, "year") %>%
mutate(comp = growth_rate/global_growth)
}
stopCluster(cl)