2017-01-23 15 views
2

小さなシャイニーアプリを作りたいと思っていましたが、私は非常に大きなステップを踏んでいます。光沢のあるラジオボタンは、異なる計算間でデータテーブルを使用して交換します。

私は、アプリケーションの次の行を行うには:data.tableパッケージを使用して、2つの計算のいずれか、平均賃金またはそれらを合計しますが、selectizeInputで選択された状態についてのみ行います。 エラーは次のとおりです: "eventReactiveHandler(...)で警告:強制で導入されたNAs" 私はこの時点までには多くのことを尋ねましたが、私はもっと助けになるものは何も見つかりませんでした。

library(shiny) 
    library(data.table) 
    ui <- fluidPage(
     selectizeInput(inputId = "Stat", "Choose a state", choices = unique(data4$STATE)), 
     radioButtons("calRB", "Choose calculation", c("sum", "avg")), 
     verbatimTextOutput("rslt"), 
     actionButton("count", "Go") 
    ) 
    server <- function(input, output) { 
     Rslt <- eventReactive({input$count, switch(as.numeric(input$calRB), 
return(data.table(data4)[STATE == input$Stat, sum(A00200)]), 
return(data.table(data4)[STATE == input$Stat, mean(A00200)]}))) 
     output$rslt <- renderPrint(Rslt()) 
    } 
    shinyApp(ui = ui, server = server) 

私は1行で長時間作業していますが、通常はうまくいっています。このコードは私がここで見つけたものとかなり似ています。

ヘルプ/教育ありがとう、歓声!パベル

+0

あなたにも提供することができます 'HubertLからdata4' – SymbolixAU

+0

answareで働いていました。私が以前に彼らと仕事をして以来、テーブルとコラムはうまくいくはずです。ありがとうtho! –

答えて

1

問題は、テキストを数値に変換してNAを作成することです。

このコードは動作しますswicth

の構文をチェックしてください:

ui <- fluidPage(
    selectizeInput(inputId = "Stat", "Choose a state", choices = unique(data4$STATE)), 
    radioButtons("calRB", "Choose calculation", c("sum", "avg")), 
    verbatimTextOutput("rslt"), 
    actionButton("count", "Go") 
) 
server <- function(input, output) { 
    Rslt <- eventReactive(input$count,{ 
    switch(input$calRB, 
      sum=return(data.table(data4)[STATE == input$Stat, sum(A00200)]), 
      avg=return(data.table(data4)[STATE == input$Stat, mean(A00200)]))}) 
    output$rslt <- renderPrint(Rslt()) 
} 
shinyApp(ui = ui, server = server) 
+0

はい、私はスイッチを使用するときに困難があります。これは私が欲しかったのと同じように動作します、ありがとう –

関連する問題