Evaluates its arguments with the output being returned as a character
string or sent to a file. Related to sink
in the same
way that with
is related to attach
.
capture.output(…, file = NULL, append = FALSE,
type = c("output", "message"), split = FALSE)
Expressions to be evaluated.
A file name or a connection, or NULL
to return
the output as a character vector. If the connection is not open,
it will be opened initially and closed on exit.
logical. If file
a file name or unopened
connection, append or overwrite?
are passed to sink()
, see there.
A character string (if file = NULL
), or invisible NULL
.
An attempt is made to write output as far as possible to file
if there is an error in evaluating the expressions, but for
file = NULL
all output will be lost.
Messages sent to stderr()
(including those from
message
, warning
and stop
)
are captured by type = "message"
. Note that this can be
“unsafe” and should only be used with care.
# NOT RUN {
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<!-- %% ?? pandoc with obeylines, obeyspaces -->
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 &")
# }
# NOT RUN {
<!-- % dont -->
# }
Run the code above in your browser using DataLab