R语言是单核计算语言,在数据建模或计算过程中,常常出现相同或相似任务的重复计算,一般操作是for循环处理或采用apply族函数处理,为了更快完成计算,采用并行计算是更优的选择。
本文采用R语言中的parallel包与foreach包实现并行计算,并针对单变量并行和多变量并行计算这两个常用场景做了函数封装。
0.环境&软件
- win10 64bit
- R 3.6.1
1.安装包
install
2.单变量并行
单变量并行计算,是最常见的应用场景,函数的动态参数只有一个,对动态参数进行遍历计算。采用parallel包实现。
#
其中,第4步比较重要,表示向每个进程的R session传入被并行函数和一些全局变量。
3.多变量并行
多变量并行,是另一个常见的应用场景,是单变量并行的一个拓展,可以理解为mapply函数的并行版本,多变量并行允许传入多个动态参数,采用foreach包实现。
#
4.结果展示
测试single_parallel和multi_parallel函数,代码以及结果如下。
#
结果:
http://weixin.qq.com/r/mShLU4rECNd3rc4w932L (二维码自动识别)