
R语言-性能优化
炫炫有牛腩
这个作者很懒,什么都没留下…
展开
-
加速R运算的简易方法-MRO
近期微软出了一个开源版本的R(Microsoft R OPEN),其运算速度据称有百分之40左右的提高,搭配上Visual Studio ide的环境感觉还不错。不过在快捷键上有些不适应,线下自己尝试了一下。新添加了不少功能:对于矩阵运算,速度上确实加快了不少,感觉与OPEN BLAS相当。但是更为重要的可能是,他提供了多线程的数学库,这意味着并行运算速度会有所提升。Microsoft R Se原创 2017-02-25 10:40:05 · 3116 阅读 · 0 评论 -
R语言-data.table包
待到最近才发现了这么一个牛逼的包 data.table。它的fread函数读取1G的CSV文件才用了20s左右。其他对data.frame的操作,也快了N倍。这篇笔记包括简介,data.table的特点,速度比较,常见语法。简介 data.table继承于data.frame。它提供了一个快速通道,让我们能更加快速的读取文件,对数据进行筛选、分组、排序、联表,而且其语法灵活、简介。由于data.原创 2016-03-18 00:54:55 · 11038 阅读 · 0 评论 -
加速R运行的简易方法-数据结构和*pply簇
数据结构之前刚开始用R时常使用data.frame来为主要的数据结构。因为以data.frame为对象比矩阵什么更加灵活,就像一个excel表一样。但是,在data.frame上用进行矩阵操作会比matrix要慢。所以尽可能的用matrix代替data.frame或者用vector存储再组合成data.frame。以一个简单的例子比较data.frame和matrix进行矩阵操作的速度差异。data原创 2016-02-17 01:46:09 · 1142 阅读 · 0 评论 -
加快R运行的简易方法-使用内置函数和安装openBLAS
内置函数内置函数:R中已含有已预先定义的函数。R中的一些低级运算符能够组成复杂的运算符或者函数,但是R中的函数定义灵活,所以自己编写的函数总会比内置函数性能较差一点。以下面的对行求和的例子为例:data <- rnorm(10000*1000) ##生成n×m个数dim(data) <- c(10000, 1000) ##转换成n×m的矩阵system.time(dataSum1 <- appl原创 2016-02-14 03:16:59 · 3560 阅读 · 0 评论 -
R语言-理解R性能
计算性能限制因素通过了解限制R计算性能的因素,从而更好的利用起R的性能,影响R的因素:CPU,RAM,磁盘I/O,算法。CPU的速度和性能觉得了计算速度,它需要将R代码翻译成机器语言和实际处理时的执行过程。另外R是单线程的,即整个数据集都在一个CPU核上运行,所以你即使拥有一个多核的CPU,并没有什么用。但是并行编程可以克服这个问题。RAM限定了数据的规模。数据都是先加载到RAM中,所以数据大小原创 2016-02-13 02:18:13 · 4217 阅读 · 0 评论 -
加快R运行的简易方法-预分配内存
R学习一——速度优化(预分配内存)向量的内存分配过程比较耗时,之前一些不好的代码习惯,例如下面随意的例子中,num被多次分配内存(长度变化),当长度从100上升至1000000时,速度会相差几十或上百倍,修改时将,num <- NULL替换成num <- vector(length=100):num <- NULL ; k <- 0for(i in 1:100){ num <- c(num,k)原创 2015-10-16 10:27:07 · 6095 阅读 · 2 评论