capture.output
Send output to a character string or file
Description
Captures the output from evaluated expressions.
The output lines are either sent to a file
or returned as elements of a character vector.
Usage
capture.output(..., file = NULL, append = FALSE,
type = c("output", "message"), split = FALSE)
Arguments
... |
expressions to be evaluated.
|
file |
the file or connection to where the output is written.
If file is NULL (the default),
capture.output returns a character vector.
|
append |
logical flag: if TRUE, the output is appended to file.
If FALSE (the default), the output overwrites the contents
of file.
|
type |
a character vector with the value "output" or "message".
If type is "output", output to stdout() is captured.
If type is "message", output to stderr() is captured.
|
split |
a logical flag. If TRUE, output is captured, and also sent to the
current output stream. If FALSE (the default), the output is not
split. When type is "message", split should always
be FALSE.
|
Value
- If file is NULL, returns a character vector where each element corresponds to a line of the
captured output.
- If file is not NULL, the output is invisible(NULL), and the result is sent to the
specified file.
Side Effects
If file is a character string, the output is written to that file.
If the file exists and append is TRUE, the output is appended
to the end of the file.
If
file is a connection, the output is written to the connection, and
the
append argument is ignored.
- If the connection is open, it should be open in binary mode for
writing.
- If the connection is not yet open, it is opened in binary mode. After
the output data is written, it is closed.
If type is "output", capturing can be nested;
that is, if capture.output is called while output is
being captured, the previous capture is suspended,
and then resumed when the nested capture.output is finished.
If type is "message", nesting is not supported.
See Also
Examples
capture.output(cat(1:3))
capture.output(data.frame(a=11:13, b=21:23))
capture.output(data.frame(a=11:13, b=21:23), file="dataframe.txt")