我个人的理解,这些包进行并行计算,有点类似控制编译器的并行开关,将数据、循环变量直接的依赖性进行开关设置。
不过R有几个包,可以提升效率和弥补R自身的不足,做大数据很有用。我就说说我每天要用的吧。
如果不使用分布式,那就用ff、bigmemory等几个package。
bigmemory:R的内存管理太烂了,因为很少给程序员管理的权限,这样一来操作系统懒加上R也懒导致常常读入大数据时内存瞬间用完,导致这个R session被强制退出。解决办法就是把常用的大数据提前放在共享内存里。
Rmpi,snow,multicore: 平行运算/多运程运算。 Rmpi最好多看看,是mpi在R里面的实现。这是平行运算的黄金标准。如果你要做大数据的模型,高能运算是必须的。
Rcpp:R与C++的接口。自带的.C和.F也很有用。毕竟R是高等语言,太慢了,基本的方程还是要用低等语言写。如果做统计模型,会有很多inference,这时必须要用低等语言写Log likelihood的方程。
DEoptim,quadqrog,linprog等等线性非线性优化:优化是统计少不了的技术。R里面好的优化包不是太慢就是太烂,你可以用GNU scientific library自己写优化器,或者买一个第三方的比如说IBM。不过很贵哦,
ggplot:不多说了,就是美丽的图片。。。
不是R的:hadoop。近几年,这都是处理大数据的必需品了。
一、foreach包