2014-07-10 81 views

回答

1

我有一個類似的問題,雖然按鈕不動態生成在我的情況。從問題來看,重點是否是「動態生成」方面並不清楚。如果是這樣我的回答不會幫助你多少...

爲了簡化我的回答我問題縮小到以下幾點:

  • 我有兩個actionButtons在我的UI(id="increase"id="decrease"),我有一個整數變量(var)和文本輸出(id="actual_value")來顯示實際值。其中一個按鈕應該增加一個值,另一個應該減小它,顯然輸出應該顯示更新的值。

的解決方案是:

shinyServer(function(input, output, session) { 
     increase <- reactive({ 
      if(input$increase == 0) return() 
      var <- var + 1 
      }) 

      decrease <- reactive({ 
      if(input$decrease == 0) return() 
      var <- var - 1 
      }) 

      actual.value <- reactive({ 
      increase() 
      decrease() 
      var 
      }) 

      output$actual_value <- renderText({ 
      paste("Actual value is: ", actual.value()) 
      }) 
    }) 

所以解釋是,有兩個反應性輸入(即,按鈕)和兩個相應的反應性式(increasedecrease)。第三個反應表達式(actual.value)取決於前兩個並返回實際值var。無功輸出取決於此。

因此,您創建的兩個按鈕(increasedecrease)兩個獨立的反應表情,然後多重他們在第三個(actual.value)。

這有效,但我不知道這是否是解決此類問題的最佳方法。

相關問題