【问题标题】:Cannot install bigmemory library in R 2.15.2 Windows无法在 R 2.15.2 Windows 中安装 bigmemory 库
【发布时间】:2013-05-23 17:44:47
【问题描述】:

我正在做一些分析,需要我从 7000x182 数组计算距离矩阵(现在是欧几里得,以后可能是 Mahalanobis),这将产生一个 7000x7000 矩阵(假设我也采用矩阵的上半部分) .

z <- as.matrix(dist(training.data[1:7000,], diag=TRUE, upper=TRUE))

我遇到的问题是我不断收到“无法分配向量...”警告。我已经阅读了足够多的内容,知道 R 无法在我的 PC 上分配足够的连续内存来执行该操作。我的 PC 有 3GB 的 RAM,尽管我尽了最大努力或 rm()'ing 对象,使用 gc(),通过 memory.limit(size=####) 增加我对 R 的内存分配,但它不起作用。

我喜欢我所读到的关于 bigmemory 库的内容;但是,当我尝试安装它时,我收到一条警告,指出它在 R 2.15.2 上不可用。我在这里错过了什么吗?有没有解决的办法?我已经阅读了其他一些用于管理大数据的 R 工具,但没有一个像 bigmemory 这样适合我的任务。

【问题讨论】:

  • 什么操作系统? cran.r-project.org/web/packages/bigmemory/index.html 指出 Windows 二进制文件不可用,并建议您从源代码编译。如果您安装了开发工具(谷歌“Rtools”),那么install.packages("bigmemory",type="source") 应该可以工作......
  • 我很抱歉。我以为我在帖子中输入了 Windows XP SP3。哎呀!我确实在 bigmemory 文档中看到了这一点。我只是从来没有这样做过。我在家里使用 Linux,所以我从来没有遇到过这个问题。我明天上班试试。谢谢。
  • 好的,所以我尝试为 RTools 下载最新的 .exe。不幸的是,由于我的工作笔记本电脑基本上被 IT 锁定,我无法编辑包含我的 R\bin 目录的路径。尽管如此,我还是下载了用于 bigmemory 的 tarball 并尝试使用 RCMD --build bigmemory_4.4.3.tar.gz。我得到一个错误,它是一个仅限 UNIX 的包。有什么想法吗? RCMD 可以在没有 Rtools 的情况下工作吗?
  • 不知道。问维护者?

标签: r bigdata r-bigmemory


【解决方案1】:

我之前在 Windows 上使用过 bigmemory,看来我可以使用它的唯一 R 版本是 2.15.3(它应该可以通过标准调用 install.packages 轻松安装)。升级到 R 3.0.x 后,windows 的 bigmemory 支持似乎“暂时中止”(参见http://cran.r-project.org/web/packages/bigmemory/NEWS)。我也无法让它在 R 2.15.2 或更早版本上运行;我总是遇到你提到的错误。

我的解决方案是在我的 Windows 机器上安装 R 2.15.3 和最新版本的 R。我将 R 2.15.3 用于 bigmemory 并在不使用时切换回 R 3.1.0。这很痛苦,但大内存是值得的 :)

【讨论】:

    【解决方案2】:

    对我来说这是可行的:

    install.packages(c("BH","biglm"))
    library(devtools)
    devtools::install_github('kaneplusplus/bigmemory')
    library(bigmemory)
    

    PS 你也可以在 Windows 上安装 library(Rdsm) 使用

    devtools::install_github('tomwenseleers/Rdsm')
    library(Rdsm)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2013-02-12
      • 2014-03-21
      • 2013-05-20
      • 2015-12-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多