gpt4 book ai didi

r - 从 do.call 内部调用时,R/Rstudio 中的调试浏览器崩溃

转载 作者:行者123 更新时间:2023-12-03 21:29:49 24 4
gpt4 key购买 nike

符合this question ,当从 do.call 语句中调用时,调试器浏览器不会向我显示它停止的位置。首先它将所有参数打印到控制台,然后通常浏览器没有响应,除了强制退出 RStudio 之外别无选择。有没有人有任何等效的经验并且可以指出任何修复?

This 似乎也描述了类似的问题。

最佳答案

这可能是因为您已将一些数据集传递给使用 do.call 调用的函数。 . R 发生错误时的默认行为是进入 Debug模式并打印整个函数调用以获取上下文。然而,因为do.call在调用函数之前解析每个参数,这可能会导致很长的语句,导致 R 挂起。
限制输入 browser() 时返回的调用长度用于调试的模型,您可以设置最大解解析长度:

options(deparse.max.lines = 10)
从 R 4.0 开始,您可以限制进入 Debug模式时打印的函数调用的长度,而无需更改 deparse() 的其他用途。通过设置选项 traceback.max.lines :
options(traceback.max.lines = 10)
这应该可以防止在 do.call 调用的函数内调试时打印解析的函数调用导致的挂起。 .
一个 bug has been identified with Rstudio即使设置了这些选项,也会导致它挂起。您可以在 R 控制台中或使用其他工具调试此代码。

关于r - 从 do.call 内部调用时,R/Rstudio 中的调试浏览器崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44608323/

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