R Shiny使两个输入相等

时间:2017-03-23 17:26:42

标签: r shiny

当我按下一个Action按钮时,我想以某种方式使两个输入相等。我的Shiny Dashboard中有几个选项卡,在某些选项卡中有重复数据输入。例如,在选项卡1中我们有一个AGE的输入,我们在选项卡2中有相同的输入。我想这样做,如果我输入一个年龄值并点击"运行" (一个动作按钮),然后它会自动使另一个标签中的年龄等于当前标签中的年龄。

我真的很擅长使用Shiny,所以我尝试使用反应命令,但我不确定它为什么不起作用:

  reactive(  
if(input$runbutton==0){
input$numeric1=input$numeric2
})

该代码无效,甚至不会返回错误。

1 个答案:

答案 0 :(得分:3)

您应该使用updateNumericInput()来更改输入的值。使用observeEvent()跟踪按钮按下更有意义。这是一个简单的示例应用程序

ui <- fluidPage(
    numericInput("numeric1","in1",1), 
    numericInput("numeric2","in2",2), 
    actionButton("runbutton", "set equal")
 )

server <- function(input, output, session) {
    observeEvent(  input$runbutton, {
        updateNumericInput(session, "numeric1", value=input$numeric2)
    })
}


shinyApp(ui=ui, server=server)