R 如何打开一个矩阵';It’他出了差错

R 如何打开一个矩阵';It’他出了差错,r,debugging,error-handling,R,Debugging,Error Handling,我在R中的一个大作业中遇到错误。我将它作为R脚本运行。我不断地得到chol.default(F.mat)中error的错误: 1阶的前导小调不是正定的 我通常在qsub中运行我的作业,但这只会给我一个错误输出,但我不能到处闲逛。然后我试着在本地运行我的工作,但我的4gb Macbook完全崩溃了 现在我正在尝试使用屏幕名,并在带有选项(error=recover)的屏幕上运行它。现在我遇到了与上面相同的错误,但我不知道如何访问数据帧。我以非交互方式调用recover;转储帧时,使用debugge

我在R中的一个大作业中遇到错误。我将它作为R脚本运行。我不断地得到chol.default(F.mat)中
error的错误:
1阶的前导小调不是正定的

我通常在qsub中运行我的作业,但这只会给我一个错误输出,但我不能到处闲逛。然后我试着在本地运行我的工作,但我的4gb Macbook完全崩溃了

现在我正在尝试使用
屏幕名
,并在带有
选项(error=recover)
的屏幕上运行它。现在我遇到了与上面相同的错误,但我不知道如何访问数据帧。我以非交互方式调用
recover;转储帧时,使用debugger()查看
,但随后我进入bash行,不知道如何打开数据帧


有什么想法吗?

这有点尴尬,因为(1)这或多或少是远程调试,(2)我自己从来没有尝试过非交互调试,但是:看起来
选项(error=function()dump.frames(to.file=TRUE))
是否值得一试

将帧转储到工作目录中的文件(
last.dump.rda
)后,您应该能够运行
load(“last.dump.rda”);调试器(last.dump)
返回调试环境

两个警告:

  • 实际上我还没有测试过这个,只是读取并解释了
    ?dump.frames
  • 我强烈建议您通过短期测试运行来测试这一点,或者在数据的一小部分上运行您的原始代码,或者设置一个小型测试脚本,比如

我想你可以接受本的答案,因为它很棒。
 options(error=function() dump.frames(to.file=TRUE))
 Sys.sleep(60)
 stop("testing error exit")