2016-09-15 130 views
0

我對Shiny非常新,處理下面的問題,按下一個actionButton在閃亮時,我希望它做多個計算。我使用observeEvent的處理程序。在actioButton上執行多個操作Shiny

一個例子:

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')` 

現在,我想我會想是哪裏的輸出$結果在服務器observeEvent製成,執行其他任務,比如分配一個變量< - 12,計算B4 < - 輸入$ ID1 * inputID2等

這不難我想象..但我只是沒有達到那裏。

親切的問候,

彼得

回答

0

您可以使用分離,看下面的例子:

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) 
+0

謝謝@(羅恩塔爾博特)。我發現,例如觀察()也可以輕鬆執行更多任務。你知道什麼是更高效的編程/更合適嗎? – Piet93