C堆栈使用量7970960太接近极限

问题描述

我试图在RStudio中计算一个简单的指数函数,

EquipmentE09

我收到以下错误消息:

错误:C堆栈使用量7970960太接近限制了

现在我不能再在RStudio中运行任何指数计算了,但是昨晚一切都很好!我试图在常规R中做到这一点,并且可以正常工作。太奇怪了。我试图扩大终端的限制(我使用的是Mac),但这似乎不能永久存在。.

计算会怎样?有人知道如何清除此错误吗?

解决方法

几乎可以肯定的是,您的搜索路径中有一个名为exp的伪函数,它会自我调用。它可能在您的工作空间(全局环境)中,或者(不太可能但可能)在您已加载的程序包中。 (无限递归也可能以更复杂的方式定义,即,而不是exp()自己调用,而是调用了将其回调的东西……)

find("exp")的正常预期结果是

[1]“ package:base”

假设您在工作区中定义了一个递归exp函数:

exp <- function(x) exp(x)

然后exp(1)将给予

错误:C堆栈使用量7969716太接近限制了

find("exp")将给出

[1]“ .GlobalEnv”“ package:base”

即在看到exp包中的内置函数之前,R在全局环境中会看到一个base

如果确实发生了这种情况,则启动新的R会话将有所帮助(除非对象位于会话启动时会恢复的已保存工作空间中)或rm("exp")

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...