Text Output — renderPrint
R/shinywrappers.R
Description
renderPrint()
prints the result of expr
, while renderText()
pastes it
together into a single string. renderPrint()
is equivalent to print()
;
renderText()
is equivalent to cat()
. Both functions capture all other
printed output generated while evaluating expr
.
renderPrint()
is usually paired with verbatimTextOutput()
;
renderText()
is usually paired with textOutput()
.
Arguments
- expr
An expression to evaluate.
- env
The parent environment for the reactive expression. By default, this is the calling environment, the same as when defining an ordinary non-reactive expression. If
expr
is a quosure andquoted
isTRUE
, thenenv
is ignored.- quoted
If it is
TRUE
, then thequote()
ed value ofexpr
will be used whenexpr
is evaluated. Ifexpr
is a quosure and you would like to use its expression as a value forexpr
, then you must setquoted
toTRUE
.- width
Width of printed output.
- outputArgs
A list of arguments to be passed through to the implicit call to
verbatimTextOutput()
ortextOutput()
when the functions are used in an interactive RMarkdown document.- sep
A separator passed to
cat
to be appended after each element.
Value
For renderPrint()
, note the given expression returns NULL
then NULL
will actually be visible in the output. To display nothing, make your
function return invisible()
.
Details
The corresponding HTML output tag can be anything (though pre
is
recommended if you need a monospace font and whitespace preserved) and should
have the CSS class name shiny-text-output
.
Examples
isolate({
# renderPrint captures any print output, converts it to a string, and
# returns it
visFun <- renderPrint({ "foo" })
visFun()
# '[1] "foo"'
invisFun <- renderPrint({ invisible("foo") })
invisFun()
# ''
multiprintFun <- renderPrint({
print("foo");
"bar"
})
multiprintFun()
# '[1] "foo"\n[1] "bar"'
nullFun <- renderPrint({ NULL })
nullFun()
# 'NULL'
invisNullFun <- renderPrint({ invisible(NULL) })
invisNullFun()
# ''
vecFun <- renderPrint({ 1:5 })
vecFun()
# '[1] 1 2 3 4 5'
# Contrast with renderText, which takes the value returned from the function
# and uses cat() to convert it to a string
visFun <- renderText({ "foo" })
visFun()
# 'foo'
invisFun <- renderText({ invisible("foo") })
invisFun()
# 'foo'
multiprintFun <- renderText({
print("foo");
"bar"
})
multiprintFun()
# 'bar'
nullFun <- renderText({ NULL })
nullFun()
# ''
invisNullFun <- renderText({ invisible(NULL) })
invisNullFun()
# ''
vecFun <- renderText({ 1:5 })
vecFun()
# '1 2 3 4 5'
})