重置RShiny中的滑块

时间:2018-07-27 07:58:39

标签: r shiny reset

我是新手,正在制作一个用户可以调整3个滑块的应用程序。输出是以百分比形式显示的三个滑块的总变化,以及与初始形式的差异。

我添加了一个“重置”按钮,以便可以将所有滑块重新变回0,但是它不起作用。

我尝试查看R shiny: reset plot to default stateReset inputs with reactive app in shiny,但无济于事。我尝试了一段代码:

  observeEvent(input$reset,{
    input$Var1=0 
    return(input$Var1)
  })

调整单个滑块并将其设置为0,然后返回该值,也无济于事。 有什么建议吗?

我的完整代码是:

library(shiny)

ui=fluidPage(
  titlePanel("Sum of Sliders"),
  fluidRow(
    column(2,
           sliderInput("Var1", "Slider1:",
                       min = -100, max = 100,
                       value = 0),
           sliderInput("Var2", "Slider2:",
                       min = -100, max = 100,
                       value = 0),
           sliderInput("Var3", "Slider3:",
                       min = -100, max = 100,
                       value = 0),
           submitButton("Submit"),
           actionButton("reset", "Reset")
    ),
    column(6,
           verbatimTextOutput("text"),
           verbatimTextOutput("text2"),
           verbatimTextOutput("change")
    )
  )
)

server=function(input, output) {
  observeEvent(input$reset,{
    input$Var1=0 
    return(input$Var1)
  })

  output$text <- renderText({
    paste("Starting Value:", 0)
  })

  output$text2= renderText({
    v=rep(0,3)
    v[1]= input$Var1/100
    v[2]= input$Var2/100
    v[3]= input$Var3/100
    paste("Slider Sum:", sum(v))
  })

  output$change <- renderText({
    paste("Difference is:", output$text2-output$text)
  })
}

shinyApp(ui, server)

0 个答案:

没有答案