微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何保存详细输出

如何解决如何保存详细输出

我想将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

解决方法

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

?capture.output帮助页面上显示:

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

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

我不确定为什么这被认为是不安全的,或者您应该采取什么措施...

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。