2012年10月16日

R 内存管理问题

摘要: 写R程序的人,相信都会遇到过“cannot allocate vector of size...” 或者 “无法分配大小为…的矢量” 这样的错误。原因很简单,基本都是产生一个大矩阵等对象时发生的,最干脆的解决办法有两种,第一种是加大内存换64位系统,第二种是改变算法避免如此大的对象。第一种办法,是最好的办法,不过大对象的需求是没有止尽的,终究不是长久之道。第二种办法是最好的思路,无论多么大的对象都是可以弄小的,无非就是分而治之、时间换空间等,对算法的研究也是没有止尽的。 升级硬件和改进算法是解决内存问题的永恒的办法,超出了本文想要表述的范围。在这里,只是简单谈谈R语言的内存管理和垃圾清理... 阅读全文

posted @ 2012-10-16 20:18 EasonCheng 阅读(1363) 评论(0) 推荐(0) 编辑

R 处理大规模数据

摘要: 说起R的弱点,肯定会有一条“处理大规模数据不行”。而且一般都是在和SAS之类的大系统比较时被提起的。这样看来也确实没错,如果数据量太大,哪怕只有一两G的时候,光读成数据框恐怕就要把内存撑爆。如果R只是一个软件系统,这显然是很大的软肋。但问题是R不是一个像SAS之类的软件系统,而是语言或者环境。 作为语言,不存在不能处理大量数据的可能性,拿C来说,直接创建一个2G的数组肯定也挂,但是不会有人这样做,因为内存是可以被灵活操控的,无论什么样的数据分析和处理,只要算法数据结构设计合理,至少也能时间换空间,其实大型的统计软件也是这样做的,只是其中的各种方法被封装好了,看上去同样的模型SAS能算出来而.. 阅读全文

posted @ 2012-10-16 20:01 EasonCheng 阅读(678) 评论(0) 推荐(0) 编辑

R 安装 Bioconductor 的网络连接问题

摘要: 偶遇此问题,耗时2小时,解决之问题如下:Error and Warning: unable to connect to the proxy on port 8080.Take the package "ape" as an example:setInternet2(TURE) source("http://bioconductor.org/biocLite.R")biocLite("ape")library(ape)Bingo!Note that https:// URLs are only supported if --intern 阅读全文

posted @ 2012-10-16 16:57 EasonCheng 阅读(546) 评论(0) 推荐(0) 编辑

导航