R语言- future.apply 并行包用法简介

简介: 本文分享了一个在R语言中使用 future.apply 并行包中 lappy族函数 的示例,以供参考学习

future.apply 是一个基于future包的并行计算工具包,提供了一种简单而高效的方式来并行化 apply函数族 的操作。

  • 并行计算:future.apply包可以将apply函数族的操作并行化,从而加速计算过程。这对于大规模数据的处理和计算非常有用。
    • 易于使用:future.apply包的语法与apply函数族的语法非常相似,因此用户可以很容易地将现有的代码转换为并行化的代码。
  • 灵活性:future.apply包支持多种并行计算模式,包括multicore、multisession和cluster等模式,用户可以根据自己的需求选择最适合的模式。
    • multicore模式 使用多核CPU来进行并行计算,它可以在同一个进程中启动多个线程,从而实现并行计算。适用于计算密集型任务,比如大规模的矩阵计算、模拟等。(Windows上暂不支持)
    • multisession模式 使用多个独立的R进程来进行并行计算,每个进程都是独立的,它们之间可以并行执行任务,从而提高计算效率。这种模式适用于 IO密集型任务,比如读写文件、网络通信等。
  • 可扩展性:future.apply包可以与其他future包一起使用,例如future.callr、future.batchtools和future.snow等包,从而提供更多的并行计算选项。
  • 跨平台性:future.apply 同时兼容Windows、Linux和Mac OS等系统开启多线程。

总之,future.apply包提供了一种简单而高效的方式来并行化apply函数族的操作,从而加速计算过程,提高计算效率。它易于使用、灵活性强、可扩展性好,是一个非常实用的并行计算工具包。

一般用法示例

library(future.apply);
plan(multisession(workers = 6));
options(future.globals.maxSize = 100 * 1024^4);
sprintf("FUTURE CURRENT WORKERS = %s", nbrOfWorkers());

### Load data
<\your code\>
#### 
future_lapply(setNames(<\your cdoe\>),function(x){
    <\your code\>
},future.globals = T,future.seed=T) -> parallel_lst

Reference

plan: Plan how to resolve a future in future: Unified Parallel and Distributed Processing in R for Everyone (rdrr.io)

目录
相关文章
|
6天前
|
数据可视化 数据挖掘
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
【视频】复杂网络分析CNA简介与R语言对婚礼数据聚类社区检测和可视化|数据分享
|
6天前
【R语言实战】——fGARCH包在金融时序上的模拟应用
【R语言实战】——fGARCH包在金融时序上的模拟应用
|
6天前
|
存储 算法 Windows
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(下)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6天前
|
算法 数据可视化 数据挖掘
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(上)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6天前
|
数据可视化 数据挖掘 Python
【视频】因子分析简介及R语言应用实例:对地区经济研究分析重庆市经济指标
【视频】因子分析简介及R语言应用实例:对地区经济研究分析重庆市经济指标
|
6天前
|
前端开发 数据挖掘 数据建模
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例(中)
课程视频|R语言bnlearn包:贝叶斯网络的构造及参数学习的原理和实例
|
6天前
|
数据挖掘 开发工具 Android开发
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
R语言对git安卓包分类统计、聚类、复杂网络可视化分析
|
6天前
|
前端开发
R语言实现随机前沿分析SFA、数据包络分析DEA、自由处置包分析FDH和BOOTSTRAP方法
R语言实现随机前沿分析SFA、数据包络分析DEA、自由处置包分析FDH和BOOTSTRAP方法
|
6天前
Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load
Mac系统R语言升级后无法加载包报错 package or namespace load failed in dyn.load
|
6天前
|
机器学习/深度学习 数据可视化 算法
从零到精通:学习这些R语言必学包成为数据分析高手!
从零到精通:学习这些R语言必学包成为数据分析高手!
45 0

热门文章

最新文章