【问题标题】:Creating Large Matrix in R [duplicate]在 R 中创建大矩阵 [重复]
【发布时间】:2014-03-04 22:07:50
【问题描述】:

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

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

如何分配这个矩阵?

【问题讨论】:

  • 我投票决定关闭它,因为不清楚您的问题是什么。是否需要有关如何安装 bigmemory 软件包的帮助,或有关如何处理大数据集的建议?
  • 不管怎样,使用 64 位 R、安装更多 RAM 和阅读 cran.r-project.org/web/views/HighPerformanceComputing.html 会让您走得更远。

标签: r matrix


【解决方案1】:

我是big.memory 软件包的忠实粉丝,我是 Windows 用户。 为了使用这个包,我首先选择使用 R 2.15,因为它在 CRAN 上仍然有一个可用的 Windows 版本的 big.memory 包。对于 R 3.0,我必须编译那个旧版本才能使用我的大矩阵。

【讨论】:

    【解决方案2】:

    我不知道我为什么要给出一个严肃的答案,但这里是......

    1.我可以安装bigmemory就好了。也许如果您遇到问题,您应该分享错误消息、您的环境和操作系统,然后寻求帮助。

    2.也许这只是一个例子:

      y <- outer(1:20000,1:20000)
      Error: cannot allocate vector of size "..." Gb
    

    但你真的想这样做吗?难道你不能重构你的代码来多次迭代/重新采样一个较小的矩阵,或者一次读取一点数据,也就是说......

    3.您考虑过使用 RSQlite 吗?它非常易于安装,尤其是现在使用 dplyr 软件包非常用户友好。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-11-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-25
    • 2016-11-10
    相关资源
    最近更新 更多