r
  • shiny
  • data.table
  • 2017-10-05 13 views 1 likes 
    1

    私は、ユーザーがdata.tableの 'by'セクションで使用される変数を選択できるようにするアプリを開発しようとしています。この選択入力はUIでレンダリングされますData.table:変数を動的に選択してください。

    vector.vars <- c('am', 'gear', 'carb') 
    selectInput("vars", "Select variables:", as.list(vector.vars), selected = 'am', multiple = TRUE) 
    

    とするとき、ユーザは中の変数のいくつかを選択:mtcarsデータセットがアプリにロードされ

    Supose、UIであり、選択のようになりますユーザが選択した「am'and 『炭水化物』前のスクリプトは、この操作実行すべきこの場合

    output$table <- renderDataTable({ 
        d <- mtcars[, list(mpg_mean= mean(mpg), by=input$vars] 
        }) 
    

    d <- mtcars[, list(mpg_mean= mean(mpg), by=list(am, carb)] 
    
    をサーバーは次のように使用されます

    と 'am'と 'carb'の各組み合わせの 'mpg'の平均を示します。

    ...しかし、by = input $ varsは意図したとおりに動作しません。

    どのように私は希望の出力に到達することができます任意のアイデア、 ありがとうございます!

    答えて

    1

    これはやる:

    as.data.table(mtcars)[, .(mpg_mean = mean(mpg)), by = c(input$vars)] 
    
    関連する問題