将print(data.tree)的输出渲染为有光泽的UI

时间:2017-11-16 19:05:52

标签: r shiny

我在控制台中输出了data.tree包:

ImmutableList immutableList = ImmutableList.Create<string>("data1", "data2");

enter image description here

我想在闪亮的UI中呈现相同的输出结构。

我尝试过粘贴(console.output(print(acme,&#34; cost&#34;,&#34; p&#34;)),collapse =&#34;
&#34; ),但输出结构不一样。

print(acme, "cost", "p")

#Out of Data.tree print JPEG

请建议我使用任何渲染功能,它将在Shiny UI中完全按照上述方式打印输出。

1 个答案:

答案 0 :(得分:1)

TL:DR;将renderText()替换为服务器中的renderPrint(),将htmlOutput()替换为ui中的verbatimTextOutput()

问题在于renderText()的工作原理。它将所有文本输入与cat()连接起来,当使用data.tree对象(列表)时,它将失败。您应该使用renderPrint()来捕获print语句的输出。不需要capture.output()renderPrint()不适用于各种输出方法,最安全的方法是verbatimTextOutput()。我的建议来自实验,而不是实际的文档研究。 htmlOutput可能有效,但我不确定。

更新的代码:

ui <- fluidPage(
          sliderInput(inputId = "slider", 
          label = "My number", 
          min = 300, 
          max = 19000,
          value = 5000),
          verbatimTextOutput("mytext")
                   )

server <- function(input, output) {
          output$mytext <- renderPrint({
          print(acme, "cost", "p"))
       })
       }

shinyApp(ui = ui, server = server)