我是这个论坛的新手和一般的Shiny,所以我尽力提出我的问题,但随时可以提出我忘记提供的任何其他信息或提供反馈,以便将来改进我的问题。
我写了一个闪亮的小程序,其中我使用两个numericInput
函数来设置一个Gate(基本上是下边界和上边框)。现在我想存储这些门以将它们用于其他数据集或其他选项卡。保存它们似乎很容易,但我无法将它们重新加载到numericInput
字段中。
我通过使用if-operation绕过numericInput
字段,以便我的程序使用全局门而不是numericInput
值(也可以通过复选框选择) )但真正的目标是将数据放回numeriInput
字段,以便能够对每个数据集的全局门进行小幅调整,而无需再次将字段输入字段。
我不知道这是否可能,但如果是,我希望有人知道答案。
我创建了这段小代码作为一个例子,它最终应该是什么样子,但却不知道如何让“Get Global”-Button工作。
server <- function(input, output){
observe({
if (input$setglobal==0){
return()
}
isolate({
global <- input$input1
output$displayglobal <- renderText(global)
})
})
}
ui <- fluidPage(
column(6, numericInput("input1", label="Lower Gate", value=0, step = 1),
actionButton("setglobal", "Set as Global"), actionButton("getglobal", "Get Global")),
column(6, h3("Global Value: "), textOutput("displayglobal"))
)
shinyApp(ui = ui, server = server)
答案 0 :(得分:0)
reactiveValues()
是一种存储数据的好方法,您需要使用闪亮服务器中的其他位置。它的功能类似于列表,但对值的更改会根据它们触发反应。这是一个简短的例子:
ui <- fluidPage(
tabsetPanel(
tabPanel("input",
numericInput(inputId = 'input1', label = "Number", value = 0)
),
tabPanel("output",
textOutput("displayGlobal")
)
)
)
server <- function(input, output){
vals <- reactiveValues(number = NULL)
observeEvent(eventExpr = input$input1,
handlerExpr = {
vals$number <- input$input1
})
output$displayGlobal <- renderText(paste0("Your Number is: ", vals$number))
}
shinyApp(ui = ui, server = server)