2017-03-01 9 views
0
library(shiny) 
ui <- fluidPage(
    checkboxGroupInput("data", "Select data:", 
        c("Iris" = "iris", 
         "Cars" = "mtcars")), 
    ##### 
    checkboxGroupInput("display", "Fit to data:", 
        c("Yes" = "fit", 
         "No"= "nofit")), 
    ##### 
    plotOutput("myPlot") 
) 

server <- function(input, output) { 
    dat <- reactive({ 
    switch() 
    }) 
    output$myPlot <- renderPlot({ 
    dat <- switch(input$data, 
        "iris" = iris, 
        "mtcars" = mtcars) 
    plot(Sepal.Width ~ Sepal.Length, data = get(input$data)) 
    }) 
} 


shinyApp(ui, server) 

私は、ユーザーがデータをフィットさせたいかどうかをユーザーが判断できるようにするチェックボックスを持っています。しかし、私はそれを私のserverにどのように実装できるかはわかりません。基本的に、ユーザがチェックボックスでYesを選択した場合、プログラムはrenderPlotと進みます。そうでなければ、気にしないでください。おそらく私のrenderPlotを取り囲む別のswitchでしょうか?チェックボックスを使用して特定の出力が実行されないようにするにはどうすればよいですか?

答えて

0

入力$ displayに依存するrenderPlot()呼び出しにスイッチを追加するだけです。

output$myPlot <- renderPlot({ 
    if(input$display == 'fit') { 
     dat <- switch(input$data, 
        "iris" = iris, 
        "mtcars" = mtcars) 
     plot(Sepal.Width ~ Sepal.Length, data = get(input$data)) 
    } else {NULL} 
    }) 
関連する問題