如何在R中创建大型矩阵,或者如何将大型矩阵压缩到某个对象中?
y <- matrix(rnorm(2e4*2e4),1:20000,1:20000)
Error: cannot allocate vector of size "..." Gb
如何分配这个矩阵?
答案 0 :(得分:3)
我不确定为什么我会给出一个认真的答案但是这里......
1.我可以安装bigmemory
就好了。也许如果您遇到问题,您应该共享错误消息,您的环境和操作系统,然后寻求帮助。
2.也许这只是一个例子:
y <- outer(1:20000,1:20000)
Error: cannot allocate vector of size "..." Gb
但你真的想这样做吗?难道你不能重构你的代码多次迭代/重新采样一个较小的矩阵或者一次读取一点数据,而不是......
3.您是否考虑过使用RSQlite?它非常容易安装,特别是现在使用dplyr
包非常用户友好。
答案 1 :(得分:2)
我是big.memory
软件包的忠实粉丝,我是Windows用户。
要使用该软件包,我首先选择使用R 2.15,因为它仍然具有CRAN上可用的功能Windows版big.memory
软件包。对于R 3.0,我必须编译旧版本才能使用我的大矩阵。