我需要对大数据矩阵进行简单的两阶段最小二乘回归。这只需要一些crossprod()
和solve()
命令,但矩阵的尺寸为100,000乘5000矩阵。我的理解是在内存中保存这样的矩阵会占用少于4GB的内存。不幸的是,我的64位Win7机器只有8GB的RAM。当我试图操纵有问题的矩阵时,我得到了通常的“无法分配大小向量”的消息。
我考虑了许多选项,例如ff
和bigmemory
个包。但是,矩阵运算的基本R函数我只需要支持通常的矩阵对象类型,而不是bigmatrix
类型。
似乎有可能从biglm()
扩展代码,但我的项目时间紧迫,所以我想和你们一起检查是否有现成的这样的问题的解决方案。如果之前已经解决了这个问题(我找不到)或者问题是否过于笼统,请道歉。
答案 0 :(得分:2)
是的,biglm中已有的现成解决方案已经确定。线性回归可以与更新方案一起使用;该基本属性在包中实现。
将您的数据转储到磁盘,比如说SQLite并研究软件包文档,然后继续,比如10个块,每块10,000个。