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
expris a quosure andquotedisTRUE, thenenvis ignored.- quoted
If it is
TRUE, then thequote()ed value ofexprwill be used whenexpris evaluated. Ifexpris a quosure and you would like to use its expression as a value forexpr, then you must setquotedtoTRUE.- 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
catto 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'
})