gpt4 book ai didi

r - 禁用错误时存储回溯

转载 作者:行者123 更新时间:2023-12-03 08:00:00 25 4
gpt4 key购买 nike

有没有一种方法可以暂时禁用R中错误的回溯存储(对于 session )?

我问的原因是ggplot2具有long-running problem,他们无法修复。某种程度上,整个数据集都存储在回溯中,并且如果您使用非常大的数据集,这意味着错误键入的变量名可能会使您挂起10分钟。

尤其是当我为非常大的数据绘制复杂的图时,这简直是残酷的。通常这些都是小的错别字,我永远不需要回溯,只是错误消息就可以了。

我试过了

options(error = expression(NULL))

但很明显,在存储回溯之后将调用处理程序(挂起仍然存在)。

可复制的例子
library(ggplot2)
data(diamonds)
diamonds = diamonds[sample(x=nrow(diamonds),size=200000,replace=T),]
qplot(data=diamonds, wrong, var)

最佳答案

我没想到的一件事是将调用包装在tryCatch中,如下所示:

tryCatch({
print(qplot(data=diamonds, wrong, var))
}, error = function(e){warning(e)})

在tryCatch中打印图很重要,否则一旦返回的图对象被自动打印,就会发生错误。

我仍然会对 options(warn=2)的反向等效性感兴趣(即,不是将警告转换为错误以便可以对其进行跟踪,而是将错误转换为警告,因此它们不会产生大量的回溯)。

关于r - 禁用错误时存储回溯,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25865175/

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