顔妻です。
Rで集計といえばdplyrです。SQLよりも少ない行数でSQLの感覚で集計できる本当に便利なlibraryです。まずはどんなことができそうか参考にしてみてください。
dplyrの関数
関数名 | 利用用途 |
%>% | パイプ演算子。作業を引き継いで実施するときに利用。SQLのサブクエリ的な挙動も可能。 |
select() | SQLのselect句とほぼ一緒。利用したい列を選択。 |
mutate() | SQLのselect句と似てる。追加の列を作ったり、window関数のような挙動を実施するときに利用 |
filter() | SQLのwhere句と一緒。絞り込みたい行の条件を記載 |
group_by() | SQLのgroup by句と一緒。集約処理したいカラムを指定。 |
summarise() | group_by()関数で指定した集約処理で集計処理を実施(sum,n,mean,sd,mid,min等) |
arrange() | SQLのorder by句と一緒。集約処理したいカラムを指定。 |
left_join() | SQLのleft join と一緒。パイプ演算子と組み合わせて「%>% left_join(y, by = c(“column” = “column” )といった感じで利用 |
inner_join() | SQLのinner join と一緒。パイプ演算子と組み合わせて「%>% inner_join(y, by = c(“column” = “column” )といった感じで利用 |
window関数的な挙動するもの
関数名 | 内容 |
row_number | 昇順にランク付け。同じ値がある場合は、最初に来た方を優先 |
min_rank | 昇順にランク付け。同じ値がある場合は、同じ順位を付ける。gapあり |
dense_rank | 昇順にランク付ける。同じ値がある場合は、同じ順位を付ける。gapなし |
percent_rank | min_rankを0~1にリスケールしたもの |
cume_dist | 累積割合。percent_rankの累積和ではない。 |
ntile | n個の群に分割する |