如何编写高效的R语言程序
第一,很明显的可以向量化和矩阵化的loop,改变矩阵或者向量的大小,都是比较耗时的,这些可以在R内部通过矩阵化,正确估计矩阵的dim来解决。
第二,对于比较简单的函数,基本程序本身写好之后,用Rprof做profiling,找到最耗时间的环节,用inline和Rcpp包把最耗时间的部分重新写一次。
第三,可以并行的计算做并行处理。
第四,使用ff包处理大的数据表格。
第五,用sparse matrix处理大矩阵。
第六,使用正确的算法也很重
第一,很明显的可以向量化和矩阵化的loop,改变矩阵或者向量的大小,都是比较耗时的,这些可以在R内部通过矩阵化,正确估计矩阵的dim来解决。
第二,对于比较简单的函数,基本程序本身写好之后,用Rprof做profiling,找到最耗时间的环节,用inline和Rcpp包把最耗时间的部分重新写一次。
第三,可以并行的计算做并行处理。
第四,使用ff包处理大的数据表格。
第五,用sparse matrix处理大矩阵。
第六,使用正确的算法也很重