2016-09-15 112 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