2017-04-16 3 views
0

私は光沢があり、シンプルなアプリケーションを作成するのに苦労しています。 selectInputsを使用してスコアを作成しようとしています。たとえば、質問1 =真、質問2 =真の場合、出力値= 2、質問1 =偽であり、質問2 =真であれば出力値= 1;等々。問題は、ドキュメンテーションをたくさん読んでいるにもかかわらず、反応性がどのように機能しているのか把握できていないことが考えられます。私はラジオボタンとアクションボタンも運行してみました。 submitButtonshiny、selectInputsからスコアを作成

ui.R 
shinyUI(fluidPage(
    titlePanel("title"), 
    sidebarLayout(
    sidebarPanel(

     selectInput("var1", 
       label = "Some question 1", 
       choices = c("True", "False"), 
       selected = "True"), 
     selectInput("var2", 
       label = "Some question 2", 
       choices = c("True", "False"), 
       selected = "True"),  
     submitButton(text = "Submit", icon = NULL, width = NULL) 
    ) 
    ) 
    ) 
) 

答えて

0

使用は、一般的に(1で、それが押されるたびに増加している)より多目的actionButtonの賛成で推奨されて:ここでは

は、私は、UI側で持っているものです。

あなたは(すなわち actionButtoninput$submitへの依存を取り、その後、(ここではチェックボックスがそのように、それぞれ、TRUEとFALSEイコール1と0から使用されているスコアを計算する( calc_score)反応を作成することができ、あなたの server.Rコードで

チェックボックスの値の合計がスコアを示します)。隔離子を使用するとinput$var1input$var2の依存関係が回避されるため、チェックボックスが変更されたとき(input$submitが変更された場合、つまりactionButtonが押された場合のみ)calc_scoreでなくトリガーになります。それは実際

library(shiny) 
ui <- shinyUI(fluidPage(
    titlePanel("title"), 
    sidebarLayout(
    sidebarPanel(
     checkboxInput("var1", label = "Some question 1", value = TRUE), 
     checkboxInput("var2", label = "Some question 2", value = TRUE),  
     actionButton(inputId = "submit", label = "Submit", icon = NULL, width = NULL) 
    ), 
    mainPanel(
     verbatimTextOutput("score") 
    )))) 
server <- function(input, output) { 

    calc_score <- reactive({ 
    input$submit 
    isolate(sum(c(input$var1, input$var2))) 
    }) 

    output$score <- renderText({ 
    calc_score() 
    }) 
} 
shinyApp(ui = ui, server = server) 
(その後 verbatimTextOutput("score")介してUIに含まれるテキストをレンダリング output$score関数この場合)出力によって消費された場合

最後に、calc_scoreのみトリガ

関連する問題