【问题标题】:get R console to highlight errors in red让 R 控制台以红色突出显示错误
【发布时间】:2013-01-06 02:53:34
【问题描述】:

很多时候,我将用于评估的代码粘贴到 R 控制台中。有时我粘贴的语句中间会出现错误,我想念它们,因为它们与屏幕上的其他内容融为一体。有没有办法通过颜色编码让它们脱颖而出?

【问题讨论】:

  • 专业提示 :-) :当你有那么多未经测试的代码时,不要试图一次运行所有代码。更好的是,避免编写喷到控制台(又名标准输出)的代码。将所有结果写入一个或十二个对象,从而清理控制台输出。
  • @CarlWitthoft:您能详细说明一下吗?这听起来像是非常有用的建议!
  • Alex - 取决于你在做什么。基本上,不是执行将其输出写入控制台的命令或函数,而是包含类似 return(invisible(list_of_outputs)) 的行,然后执行 myfunction(...) ->testout 。警告和错误消息将显示在控制台上,您的数据将在新变量 testout 中。
  • @CarlWitthoft:哦,是的,我已经这样做了。只是在粘贴代码时东西会丢失。不过谢谢

标签: r error-handling


【解决方案1】:

在 linux 或 mac 上,您只需加载 colorout 包,您的错误将显示为红色。

【讨论】:

  • 这个东西不在 cran 上,我对安装改变基础 R 的东西有点紧张。还有其他类似的东西吗?
【解决方案2】:

来自?base::options 错误:控制处理非灾难性错误的函数或表达式,例如由停止以及信号和内部检测到的错误产生的错误。如果选项是函数,则生成对该函数的不带参数的调用作为表达式。默认值为 NULL:在这种情况下,请参阅停止行为。函数 dump.frames 和 recover 提供了允许事后调试的替代方法。请注意,这些需要指定为例如启动文件中的 options(error=utils::recover),例如“.Rprofile”。

所以,我想你可以修改你的 .Rprofile 以不同的方式处理错误,如果停止太多,也许你可以用一些换行符包围它们,使它们在你的代码中脱颖而出。

【讨论】:

    【解决方案3】:

    试试这些:

    stop("an error occurred")

    message("an error occurred")

    cat("error occurred", file=stderr())

    【讨论】:

      【解决方案4】:

      我建议使用RStudio。它有许多用于控制台和文件文本的颜色选项,更改起来非常简单。

      这是我的样子。它使错误、警告和消息非常容易被发现。

      【讨论】:

      • 我正在通过 Linux 上的集群(甚至交互方式)远程使用 R。我的理解是 RStudio 不能用于此目的,对吗?
      • @Alex,我不确定。对不起。搜索 RStudio 链接可能会回答这个问题。
      猜你喜欢
      • 1970-01-01
      • 2012-02-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 2021-05-04
      • 1970-01-01
      • 2018-06-24
      相关资源
      最近更新 更多