2015-12-28 12 views
5

私はいくつかの探索的データ解析のためにR shinyと協力しています。私は1つのチェックボックスに2つのチェックボックス入力を持っています。私はすべてのカテゴリ変数に値を設定していますが、他のすべては数値変数です。次に、この2つの選択肢についてgroupbyを以下のように適用します。複数の列でのdplyrグループ

var1 <- input$variable1  # Checkbox with categorical variables 
var2 <- input$variable2  # Checkbox with numerical variables 

v$data <- dataset %>% 
    group_by_(var1) %>% 
    summarize_(Sum = interp(~sum(x), x = as.name(var2))) %>% 
    arrange(desc(Sum)) 

groupbyが1列のみの場合は正常に動作しますが、複数の列でグループ化したいと考えています。ユーザが複数のカテゴリ変数を選択すると、カラム名を持つ配列が返されます。これをdplyr groupbyに渡す方法。

+0

、ユーザが選択したときに、私は11個のカテゴリ変数を持っているが、私はどのように行うvar1' 'でそれは私を与える3つのカテゴリ変数' [1] "dish_name" "dish_type" は、[3] "user_location_grp" '言うことができますこの配列をgroupbyに渡します。 – Neil

答えて

14

変数名のベクトルがある場合は、.dots=パラメータにgroup_by_に渡す必要があります。たとえば:

mtcars %>% 
    group_by_(.dots=c("mpg","hp","wt")) %>% 
    summarize(x=mean(gear)) 
+0

これも 'group_by'を使って動作しました。 – BLT

関連する問題