R语言是单核计算语言,在数据建模或计算过程中,常常出现相同或相似任务的重复计算,一般操作是for循环处理或采用apply族函数处理,为了更快完成计算,采用并行计算是更优的选择。
本文采用R语言中的parallel包与foreach包实现并行计算,并针对单变量并行和多变量并行计算这两个常用场景做了函数封装。
0.环境&软件
-
win10 64bit
-
R 3.6.1
1.安装包
install.packages("foreach")
install.packages("parallel")
install.packages("doParallel")
2.单变量并行
单变量并行计算,是最常见的应用场景,函数的动态参数只有一个,对动态参数进行遍历计算。采用parallel包实现。
# 单变量并行计算
single_parallel <- function(func,iterable,...){
"
:param func:被并行函数
:param iteralbe:func的1个动态参数(vector、list)
:param ...:func的静态参数