【发布时间】: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