我该如何在R中创建一个大矩阵,或者如何将一个大矩阵压缩成某个对象?
y <- matrix(rnorm(2e4*2e4),1:20000,1:20000)
Error: cannot allocate vector of size "..." Gb
如何分配此矩阵?
我不确定为什么要认真回答这个问题,但还是来试试吧...
1.我可以很好地安装bigmemory
。也许如果您遇到问题,应该分享错误消息、环境和操作系统,然后请求帮助。
2.也许这只是一个例子:
y <- outer(1:20000,1:20000)
Error: cannot allocate vector of size "..." Gb
但是你真的想这样做吗?你不能重构你的代码来多次迭代/重新采样一个较小的矩阵,或者一次读取一点数据,比如...
3. 你考虑过使用RSQlite吗?它非常容易安装,特别是现在有dplyr
包,非常用户友好。
bigmemory
已经在CRAN上了,但是不能在Windows下运行。请参见http://cran.r-project.org/web/packages/bigmemory/index.html - Richie Cotton我非常喜欢bigmemory
软件包,我是Windows用户。
为了使用这个软件包,我首先选择使用 R 2.15 版本,因为CRAN上还有一个功能可用的Windows版本的bigmemory
软件包。对于R 3.0版本,我需要编译那个旧版本以使其能够处理我的大矩阵。
bigmemory
软件包,还是需要有关如何处理大型数据集的建议? - Richie Cotton