我使用capture.output来捕获打印输出。但是,使用renderPrint显示的结果非常混乱(参见附图1)。有没有办法在保留原始格式的同时显示它(附图2)?
非常感谢任何建议。谢谢!
以下是我的代码中的一些行:
server.R中的
nway_result <- reactiveValues()
nway_result$df <- capture.output(Nway(var_dd$selected, mynode$selected), file= NULL)
output$nway <- renderPrint({
if (input$dd_options == 6) {
nway_result$df
}
})
ui.R
verbatimTextOutput('nway')
图片1:
图片2:
答案 0 :(得分:0)
以下是我目前正在为我的某个项目使用的一些代码。它显示lm
呼叫的输出以及呼叫的回显版本。
library(shiny)
library(evaluate)
shinyApp(
fluidPage(verbatimTextOutput("text")),
function(input, output)
output$text <- renderText(
paste(
capture.output(replay(
evaluate(function()
lm(mpg ~ cyl, data = mtcars)
)
)),
collapse = "\n")
)
)
由于您不需要回调调用,因此这个简化版本应该按照您的意愿执行。
# context: server.R
output$nway <- renderText({
if (input$dd_options == 6) {
paste(nway_result$df, collapse = "\n")
}
})
# context: ui.R
verbatimTextOutput("nway")