在R中创建大矩阵

时间:2014-02-07 13:13:23

标签: r matrix

如何在R中创建大型矩阵,或者如何将大型矩阵压缩到某个对象中?

y <- matrix(rnorm(2e4*2e4),1:20000,1:20000)
Error: cannot allocate vector of size "..." Gb

如何分配这个矩阵?

2 个答案:

答案 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,我必须编译旧版本才能使用我的大矩阵。