[R]提高R语言速度

本文介绍了提高R语言性能的方法,包括向量化操作以提升速度,利用R语言调用C或cpp代码,以及探讨如何利用多线程在多核系统上并行运行R程序以优化计算效率。参考书籍如《R语言编程艺术》和《R高性能编程》提供了更多深入指导。
摘要由CSDN通过智能技术生成

前言:R语言在聚类中应用广泛,所以我义无反顾的选择它。但实验室就我1个人用,网上资料也很少。是时候针对走过的弯路和曾有过的探索,总结一番。

1.     参考《R语言编程艺术》(Norman Matloff)

chapter 14 & chapter 15

2.     方法

(1)向量化 

与非向量化-循环做个对比:

(2)R中调用C或cpp

通过Rstudio建立R包,R包中可以联合使用cpp。仅拿循环做个例子,cpp中做循环的速度秒杀R。

查看R包的源文件,可以发现许多R包其实是用了.cpp的!

(3)多线程

若在Rgui中直接运行程序,1个核跑1个Rgui;若电脑有4个核,就可以开4个Rgui跑4个程序。

使用多线程,就能多核运行了,算法运行时间必然缩短。

可以通过任务管理器观察cpu的运行情况。

对于4核系统,开3个还是4个线程呢?若开4个线程,cpu占用

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值