在actioButton Shiny上执行多项操作

时间:2016-09-15 09:13:03

标签: r events shiny action-button

我对Shiny很新,并且处理以下问题,在按下actionButton时,我希望它能够进行多次计算。我使用observeEvent的处理程序。

一个例子:

library(shiny)
ui <- fluidPage(
  sidebarLayout(
  sidebarPanel(`

     actionButton("calc","calculate stuff")),
  mainPanel(
     textOutput("result")
 )
)
)


server <- function(input,output){
  observeEvent(input$calc, {output$result <- renderText({"only this is not enough"})  })
}


shinyApp(ui,server')`

现在我想要的是在server-observeEvent中输出$ result的位置,我想执行其他任务,比如分配变量a&lt; -12,计算B4&lt; - input $ ID1 * inputID2等。

我想象这并不难......但是我没有到达那里。

亲切的问候,

彼得

1 个答案:

答案 0 :(得分:0)

您可以使用isolate,请参阅此示例:

library(shiny) 
ui <- fluidPage(
  sidebarLayout(
    sidebarPanel( 
      numericInput(inputId = 'x', label = 'Select a value for x', value = 1),
      actionButton(  "calc", "calculate stuff" )  
    ),
    mainPanel(
      textOutput("result")
    )
  )
) 

server <- function(input, output) {   
  output$result <- renderText({
    input$calc 
    isolate({
      y<- input$x *2 
      paste("The result is:", y) 
    }) 
  }) 
}  
shinyApp(ui, server)