【问题标题】:How to open up a matrix that's running into an error如何打开遇到错误的矩阵
【发布时间】:2016-02-16 21:43:36
【问题描述】:

我在 R 中的一项大工作中遇到了错误。我将它作为 R 脚本运行。我不断收到Error in chol.default(F.mat) : the leading minor of order 1 is not positive definite 的错误。

我通常在 qsub 中运行我的工作,但这只会给我一个错误输出,但我无法四处寻找。然后我尝试在本地运行我的工作,但我的 4gb Macbook 完全不堪重负。

现在我正在尝试使用screen name 并在带有options(error=recover) 的屏幕上运行它。现在我遇到了与上面相同的错误,但我不知道如何访问数据帧。我得到recover called non-interactively; frames dumped, use debugger() to view,但后来我进入了我的bash 行,我不知道如何打开数据框。

有什么想法吗?

【问题讨论】:

  • 我认为您可以接受 Ben 的回答,因为它很棒。

标签: r debugging error-handling


【解决方案1】:

这有点尴尬,因为 (1) 它或多或少是远程调试,并且 (2) 我实际上从未尝试过自己进行非交互式调试,但是:似乎 options(error=function() dump.frames(to.file=TRUE)) 可能值得一试?

将帧转储到文件后(默认情况下,last.dump.rda 在工作目录中),您应该能够运行 load("last.dump.rda"); debugger(last.dump) 以返回调试环境。

两个警告:

  • 我没有实际测试过,只是阅读和解释?dump.frames;
  • 强烈建议您通过简短的测试运行对此进行测试,或者在一小部分数据上运行您的原始代码,或者设置类似的小型测试脚本
 options(error=function() dump.frames(to.file=TRUE))
 Sys.sleep(60)
 stop("testing error exit")

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-07-18
    • 1970-01-01
    • 2020-08-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-03-08
    相关资源
    最近更新 更多