你能让R打印更详细的错误信息吗?

nsh*_*eff 34 error-handling r

我经常对R的神秘错误消息感到沮丧.我不是在交互式会话期间谈论,我的意思是当你运行脚本时.错误消息不会打印出行号,并且通常很难跟踪违规行以及错误原因(即使您可以找到该位置).

最近我的R脚本失败了,带来了令人难以置信的深刻信息:"执行停止了." 我通常跟踪这些错误的方法是在整个脚本中放入大量的打印语句 - 但这很痛苦.我有时不得不在交互式会话中逐行浏览脚本以查找错误.

有没有人有更好的解决方案,如何使R错误输出更有用?

编辑:许多R调试的东西适用于交互式会话.我正在寻找有关通过Rscript运行的命令行脚本的帮助.当错误发生时,我不在R会话的中间,我在bash shell.我无法运行"traceback()"

Ari*_*man 8

尝试一下这篇文章中的一些建议:

R中调试的一般建议

具体而言,findLineNum()traceback()/ setBreakpoint().

  • 这些建议大多与加载交互式R和使用source()运行脚本有关.在命令行上使用Rscript怎么样?我完成了所有这些建议,但无法弄清楚如何打印行号.它只在使用source()时有效 (2认同)