我正在使用一个R包,除了计算和返回内容外,还会向控制台输出一些非常有用的信息。例如,它会打印出它现在正在进行的迭代。
如何将控制台输出直接打印到我的UI?
假设这是我的用户界面:
ui <- shinyUI(
fluidPage(
titlePanel("Print consol output"),
sidebarLayout(
sidebarPanel(actionButton("go", "Go")),
mainPanel(
verbatimTextOutput("console_text")
)
)
)
)
我的用户点击了actionButton“Go”,我的包开始做事 - 同时将内容发送到控制台。我想,我希望将控制台的内容保存为输出$ console_text - 但我不知道这是否是正确的方法以及如何做到这一点。
我不想让代码超级复杂。因此,我在服务器中创建了自己的小打印功能,而不是包。
server <- function(input, output, session) {
myfunction <- function(x) {
for(i in 1:x) cat(i)
return(x)
}
observeEvent(input$go, {
{
# This is probably wrong:
output$console_text <- renderPrint(onerun <- myfunction(20))
}
})
}
shinyApp(ui, server)
非常感谢!