gpt4 book ai didi

r - 64 位 R 中的 "' Calloc 'could not allocate memory"

转载 作者:行者123 更新时间:2023-12-04 15:43:41 26 4
gpt4 key购买 nike

我使用的是具有 30.5 GB RAM 的 Windows Server 2012(64 位),在 RStudio 0.98 中运行 R v3.1.2,但仍然遇到 R 达到内存限制的问题。

我在这里查看了常见问题解答:http://cran.r-project.org/bin/windows/base/rw-FAQ.html#There-seems-to-be-a-limit-on-the-memory-it-uses_0021

其中指出 64 位实例的内存限制默认为 RAM 总量,并且可以使用 memory.limit() 检查和设置该限制。

调用 memory.limit()返回 31249 ,确认它能够查看和使用所有 30 场演出。

但是,当我对大型数据集(约 10M 行)进行建模调用时:

ctree(as.formula(formula), data=d, control=ctree_control(mincriterion=0.9, minbucket=1000))

我收到以下错误:
'Calloc' could not allocate memory (18446744073673801728 of 8 bytes) 

但是查看系统任务管理器我可以看到超过 25GB 仍然可用,而 R 仅使用 2.3GB。

在 RStudio 之外和在 R 中直接运行建模会产生相同的结果,因此 RStudio 不是变量。

我很困惑 - 为什么 R 拒绝使用我所有的内存?

最佳答案

问题是 ctree() 下的 C 代码中的一个错误。函数(正如@JoshuaUlrich 正确怀疑的那样)。原因是现在已在 libcoin 中修复的整数溢出。包版本 1.0-2 partykit包建立在。

(评论:我们没有更早地了解到这个错误,因为party 标签没有用于 StackOverflow 上的问题,并且直到今天才将问题报告给包维护者。感谢 Kris Joanidis 报告了这个问题以及提供了一个补丁,非常感谢。)

关于r - 64 位 R 中的 "' Calloc 'could not allocate memory",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27975385/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com