【问题标题】:How to save verbose output如何保存详细输出
【发布时间】:2021-02-24 02:23:58
【问题描述】:

我想将任何 R 函数的详细输出保存到变量或文件中。

换句话说,whatever_R_function(abc, verbose=TRUE) 的详细控制台输出应该保存在某个地方。

我尝试使用verbose.output <- capture.output(whatever_R_function(abc, verbose = TRUE)),但它不起作用,因为capture.output() 仅捕获输出的非详细部分。

两个例子:

install.packages('devtools', verbose=TRUE)

library(emayili)
smtp <- server(host = '...',
               port = ...,
               username = '...',
               password = '...')
email <- envelope() %>%
    from('...') %>%
    to('...') %>%
    bcc('...') %>%
    reply('...') %>%
    subject('...') %>%
    html('...') %>%
    attachment('...')
smtp(email, verbose = TRUE)

谢谢。

R 4.0.2 - RStudio 1.3.1093 - macOS 10.15.7

【问题讨论】:

  • 如果你能给出一个特定 R 函数的例子,那就太好了。答案将取决于详细输出的显示方式 - 无论是 printcatmessage 还是其他...
  • 原始问题中添加的示例。非常感谢

标签: r output verbose


【解决方案1】:

我没有深入研究install.packages 代码,而是smtp appears to use cat directed to stderr()verbose = TRUE

?capture.output 帮助页面显示:

发送到stderr() 的消息(包括来自messagewarningstop 的消息)被type = "message" 捕获。请注意,这可能是“不安全的”,应谨慎使用。

所以,我相信如果你使用capture.output(..., type = "message"),你应该得到它。这很有可能也适用于install.packages

我不确定为什么这被认为是不安全的,或者您应该注意什么...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-11-21
    • 2020-04-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-18
    相关资源
    最近更新 更多