当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


R capture.output 将输出发送到字符串或文件


R语言 capture.output 位于 utils 包(package)。

说明

评估其参数,并将输出作为字符串返回或发送到文件。与 sink 相关,类似于 withattach 相关。

用法

capture.output(..., file = NULL, append = FALSE,
               type = c("output", "message"), split = FALSE)

参数

...

要评估的表达式。

file

文件名或 connectionNULL 以字符向量形式返回输出。如果连接未打开,它将最初打开并在退出时关闭。

append

合乎逻辑的。如果file是文件名或未打开的连接,追加还是覆盖?

type, split

被传递到 sink() ,请参阅那里。

细节

它的工作原理是通过sink(<file connection>)因此R代码在dots必须不是干扰连接(例如,通过调用closeAllConnections())。

如果计算表达式时出现错误,则会尝试将输出尽可能写入file,但对于file = NULL,所有输出都将丢失。

发送到 stderr() 的消息(包括来自 messagewarningstop 的消息)由 type = "message" 捕获。请注意,这可以是“unsafe”,并且应谨慎使用。

字符串(如果是 file = NULL ),或不可见的 NULL

例子

require(stats)
glmout <- capture.output(summary(glm(case ~ spontaneous+induced,
                                     data = infert, family = binomial())))
glmout[1:5]
capture.output(1+1, 2+2)
capture.output({1+1; 2+2})

## Not run: ## on Unix-alike with a2ps available
op <- options(useFancyQuotes=FALSE)
pdf <- pipe("a2ps -o - | ps2pdf - tempout.pdf", "w")
capture.output(example(glm), file = pdf)
close(pdf); options(op) ; system("evince tempout.pdf &")

## End(Not run)

也可以看看

sink , textConnection

相关用法


注:本文由纯净天空筛选整理自R-devel大神的英文原创作品 Send Output to a Character String or File。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。