问题标签 [r-bigmemory]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
12 浏览

r - 为什么我的采样没有节省计算时间?

我试图减少计算数据集中所有变量之间的相关性所需的时间。它是一个庞大的数据集,超过 100K 列和超过 50K 行。每个变量都保存在自己的文件中,因此需要遍历文件。

我试图通过对行进行采样来减少计算时间。我选择了 1000 行,而不是使用所有 50K 行。

但是,无论我做 100 行还是 50,000 行,计算相关系数仍然需要相同的时间。我对 50 个变量进行了测试。

关于如何让这个任务运行得更快有什么建议吗?以我目前的计算能力,运行这个脚本可能需要一年多的时间。

下面是我的脚本:

0 投票
0 回答
37 浏览

r - 如何在 R 中使用大内存数据执行 Hmisc::rcorr()?

我需要Hmisc::rcorr()用大内存data.table执行(各种前面的函数和子集都需要这种格式)。可以在给定的 RAM 中读取和加载 ( fread()) 对象,但rcorr()操作最终会失败:

> Error: cannot allocate vector of size 1.2 Gb

因此,我已经转移到各种包来处理大内存数据。我最初尝试过bigmemory,但无法开始:

然后我搬到disk.frame了没有成功:

我还尝试disk.frame在将 转换data.table为矩阵后创建一个,但它不接受data.frame类对象以外的任何内容。

我感谢提供的任何帮助。

0 投票
1 回答
64 浏览

r - 使用disk.frame,但仍然达到内存限制问题

问题:

我正在尝试对大型数据集执行相关性测试:data.table可以存在于内存中,但对其进行操作时会遇到内存限制Hmisc::rcorr()corrr::correlate()最终会遇到内存限制。

所以,我转而使用 filebackeddisk.frame包来解决这个问题,但我仍然达到了内存限制。

任何关于如何使用disk.frame或处理大内存的包来实现这一点的建议都非常感谢。

两者都rcorr()correlate()整个数据集进行操作。数据集包含NA值,因此我需要使用这些函数,因为它们允许使用"pairwise.complete.obs".

尝试:

0 投票
1 回答
46 浏览

r - R bigmemory:脚本执行后如何访问矩阵/保存在共享内存中

我使用该bigmemory包将一个非常大的矩阵放入共享内存中(请参见下面的脚本,因此它可以由其他 R 会话中的脚本并行访问。

我现在想以非交互方式执行脚本。问题是,如果我使用 运行它,矩阵会在进程结束Rscript后立即从共享内存中删除。Rscript我可以添加Sys.sleep(99999)到脚本的末尾,但我想知道是否有更好的方法来完成这个。有任何想法吗?