无法在 R 2.15.2 Windows 中安装 bigmemory 库
Posted
技术标签:
【中文标题】无法在 R 2.15.2 Windows 中安装 bigmemory 库【英文标题】:Cannot install bigmemory library in R 2.15.2 Windows 【发布时间】: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 的情况下工作吗?
不知道。问维护者?
【参考方案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)
【讨论】:
以上是关于无法在 R 2.15.2 Windows 中安装 bigmemory 库的主要内容,如果未能解决你的问题,请参考以下文章
无法在 Windows XP Professional 中安装 Python 3.5
无法在 Windows 上的 Git Bash 中安装 pylint(Windows 应用商店)