R-“;浏览器();错误?

R-“;浏览器();错误?,r,R,最近,我一直在使用一些R库来分析一些大型数据,我发现自己很沮丧,因为等待了几个小时才开始分析,只是为了结束并收到一些小错误,比如我没有安装一个必备库,或者我的一个参数错了。所以,我必须从头开始,做完全相同的分析,产生它死后的相同变量,然后等待很长时间。请注意,这些都不是经过处理的异常——它们是R 这只是一个想法——也许这太好了,不可能是真的,所以请至少解释一下为什么它不起作用——但有没有任何方法可以让R在出现致命错误时在环境中执行“browser()”?例如,假设它正在执行一个脚本,并遇到“re

最近,我一直在使用一些R库来分析一些大型数据,我发现自己很沮丧,因为等待了几个小时才开始分析,只是为了结束并收到一些小错误,比如我没有安装一个必备库,或者我的一个参数错了。所以,我必须从头开始,做完全相同的分析,产生它死后的相同变量,然后等待很长时间。请注意,这些都不是经过处理的异常——它们是R


这只是一个想法——也许这太好了,不可能是真的,所以请至少解释一下为什么它不起作用——但有没有任何方法可以让R在出现致命错误时在环境中执行“browser()”?例如,假设它正在执行一个脚本,并遇到“require(notInstalledYet)”。与其只是死掉,并丢失内存中的所有变量,不如在死掉的地方给我一个browser(),这样我至少可以保存变量,最好是修复问题(例如安装库),然后再试一次。

您可以更改错误选项,在出错时打开浏览器

options(error=browser)
默认值是

options(error=NULL)

您可以编写某种类型的客户错误处理程序(请参阅),但我不确定您是否可以将其设置为这样做……这太完美了。我有点尴尬,因为我没有自己找到它,但我觉得一个简单的单行程序就可以实现这个功能似乎太好了。非常感谢!