gpt4 book ai didi

R Shiny - 如何在渲染函数之间共享变量?

转载 作者:行者123 更新时间:2023-12-01 16:09:23 25 4
gpt4 key购买 nike

我有从 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

})

})

我必须重复变量两次,有什么方法可以将它们放在一个地方并在函数之间共享它们?如果我将变量放在这些函数之外,我会出错。

有什么想法吗?

最佳答案

您可以创建另一个返回列表的 react 函数,如下所示:

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

希望对您有所帮助!

关于R Shiny - 如何在渲染函数之间共享变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30294928/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com