2017-08-12 8 views
1

私は次のアプリを持っています: 次をクリックすると、現時点では些細な情報が表示され、2つのラジオボタンオプションを選択する必要があります。次に、次のボタンをクリックして、次のプロットを評価することができます。問題は、ボタンを最初にクリックして最初のプロットを表示する必要があることです。また、printステートメントでmissmatchが表示されます。最初のラジオボタンの選択肢は、最初のprintステートメントの2行目のinstadに表示されます。ボタンをクリックして新しいプロットを表示する

初期プロットを表示するのに手伝ってもらえますか?

ui <- fluidPage(

    actionButton("buttonNext", "Next"), 

    radioButtons("radio", "Your Decision:", 
       choices = c("No Decision" = 'NoDec', "Yes" = 'yes', "No" = 'no'), 
       selected = 'NoDec'), 

    plotOutput("TimeSeriesPlot") 
) 


server <- function(input,output,session) { 

    observeEvent(input$buttonNext, { 
    }) 

    clickNext <- eventReactive(input$buttonNext, { 
    updateRadioButtons(session,'radio',selected = -1) 
    randomNumber <- input$buttonNext 
    print(c(input$buttonNext,randomNumber,input$radio)) 
    return(randomNumber) 
    }) 

    output$TimeSeriesPlot <- renderPlot({ 

    i <- clickNext() 
    plot(i) 

    }) 

} 
shinyApp(server = server, ui = ui) 

答えて

1

単純な反応を使用して、ラジオボタンの値を呼び出す場所を特定することができます。このようにして、リアクションはラジオボタンに依存しません。また、別の観測者からのラジオボタンを更新するために、それの副作用のために、より良い反応を使用するように悪い習慣と考えられている:

ui <- fluidPage(

    actionButton("buttonNext", "Next"), 

    radioButtons("radio", "Your Decision:", 
       choices = c("No Decision" = 'NoDec', "Yes" = 'yes', "No" = 'no'), 
       selected = 'NoDec'), 

    plotOutput("TimeSeriesPlot") 
) 


server <- function(input,output,session) { 

    clickNext <- reactive({ 
    isolate(input_radio <- input$radio) 
    randomNumber <- input$buttonNext 
    print(c(input$buttonNext,randomNumber,input_radio)) 
    return(randomNumber) 
    }) 

    observeEvent(input$buttonNext, 
       { 
       updateRadioButtons(session,'radio',selected = -1) 
       }) 

    output$TimeSeriesPlot <- renderPlot({ 
    i <- clickNext() 
    plot(i) 
    }) 

} 
shinyApp(server = server, ui = ui) 

ホープ、このことができます。

0

ありがとうございました!ユーザーが挿入されたデータを保存することが可能であるどのように

print(c(input$buttonNext,randomNumber,input_radio)) 

これは単に印刷するべきではありませんが、それは後で私に利用可能であるべきです。 私の計画は、人々が私のプロットを評価してから、各プロットごとに彼がクリックしたボタンを各ユーザに表示することです。

関連する問題