foreach用法_R语言--并行计算包(parallel、foreach)

266676c0339d7c80f1e013dd8abbed88.png

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函数,代码以及结果如下。

# 

结果:

b95fb2b3ff8fc3d196c90eedad82dd82.png

http://weixin.qq.com/r/mShLU4rECNd3rc4w932L (二维码自动识别)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值