我有从ui.R获得的变量,我想在renderUI和renderPlot函数中使用它们,如下所示,
shinyServer(
function(input, output, session) {
output$text <- renderUI({
# Sites.
site1 = input$site1
site2 = input$site2
site3 = input$site3
site4 = input$site4
})
output$plot = renderPlot({
# Sites.
site1 = input$site1
site2 = input$site2
site3 = input$site3
site4 = input$site4
})
})
Run Code Online (Sandbox Code Playgroud)
我必须重复两次变量,有什么方法可以将它们放在一个地方并在函数之间共享它们吗?如果我把变量放在这些函数之外,我会得到错误.
有任何想法吗?
小智 6
您可以创建另一个返回列表的反应函数,如下所示:
shinyServer(
function(input, output, session) {
site <- reactive({
unlist(list("site1" = input$site1,
"site2" = input$site2,
"site3" = input$site3,
"site4" = input$site4))
}
output$text <- renderUI({
site = site()
})
output$plot = renderPlot({
site = site()
})
})
Run Code Online (Sandbox Code Playgroud)
然后你可以通过简单的方式调用site1site[1]
.
希望这可以帮助!
归档时间: |
|
查看次数: |
2015 次 |
最近记录: |