group_by
複数変数の場合、dplyr
はこれらのグループの共通部分を見つけやすくなります。例えばdplyr :: group_by()複数の変数があるが交差しない場合
、
mtcars %>%
group_by(cyl, am) %>%
summarise(mean(disp))
利回り
Source: local data frame [6 x 3]
Groups: cyl [?]
cyl am `mean(disp)`
<dbl> <dbl> <dbl>
1 4 0 135.8667
2 4 1 93.6125
3 6 0 204.5500
4 6 1 155.0000
5 8 0 357.6167
6 8 1 326.0000
私の質問は、複数の変数を提供する方法はありますが、わずかにをを要約しますか?私はあなたが手でこれをするなら、あなたが得るもののような出力を、可変で変数にしたい。
がdf_1 <-
mtcars %>%
group_by(cyl) %>%
summarise(est = mean(disp)) %>%
transmute(group = paste0("cyl_", cyl), est)
df_2 <-
mtcars %>%
group_by(am) %>%
summarise(est = mean(disp)) %>%
transmute(group = paste0("am_", am), est)
bind_rows(df_1, df_2)
上記のコードは、理想的には、
# A tibble: 5 × 2
group est
<chr> <dbl>
1 cyl_4 105.1364
2 cyl_6 183.3143
3 cyl_8 353.1000
4 am_0 290.3789
5 am_1 143.5308
をもたらし、構文は mtcars %>%
group_by(cyl, am, intersection = FALSE) %>%
summarise(est = mean(disp))
はこのようなものがtidyverse
に存在するか
(PS、私は上記の表の私のgroup
変数は、それが一つに二つの変数が含まれているという意味で、きちんとしていないことを得るが、私はOK、それはきちんとだ私の目的のために約束?:))
これは素晴らしいソリューションです。より一般的にするための小さな編集 df%>% % mutate(group = paste0(col、 "_"、value)) –
賛成、私は編集しました答え – denrou