[英]R Shiny - how to share variables between Rendering functions?
我有從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
})
})
我必須重復兩次變量 ,有什么辦法可以將它們放在一個地方並在函數之間共享 ? 如果將變量放在這些函數之外,將會出錯。
有任何想法嗎?
您可以創建另一個返回列表的反應式函數,如下所示:
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()
})
})
然后,您只需執行site[1]
即可調用site1 。
希望這可以幫助!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.