行の集計(スコープ付き関数)

概要

dplyrパッケージに含まれるsummarise()のスコープ付き関数は、行の集計を簡潔なコードで記述できる関数です。

関連ページ

関数

summarise_all(.tbl, .funs, ...)
summarize_all(.tbl, .funs, ...) # Alias
summarise_at(.tbl, .vars, .funs, ..., .cols = NULL)
summarize_at(.tbl, .vars, .funs, ..., .cols = NULL) # Alias
summarise_if(.tbl, .predicate, .funs, ...)
summarize_if(.tbl, .predicate, .funs, ...) # Alias
引数指定説明
.tbl必須データフレーム
.funs任意値を加工する関数を指定する
.vars必須summarise_at()で使用する引数
対象となる列を変数または文字列で指定する
.predicate必須summarise_if()で使用する引数
対象となる列を返り値がBool型の関数で指定する

使い方

スコープ付き関数の基本的な使い方は専用の解説ページを参照してください。

解説用データフレーム

df <- tibble(
  x1 = c('A', 'A', 'B', 'B', 'B'),
  w1 = c(1, 2, 3, 4, 5)
)
> df
# A tibble: 5 x 2
  x1       w1
  <chr> <dbl>
1 A         1
2 A         2
3 B         3
4 B         4
5 B         5

1.行の集計

# 列x1でグループ化し、数値型の列の合計を集計する
group_by(df, x1) %>%
  summarise_if(is.numeric, sum)
# A tibble: 2 x 2
  x1       w1
  <chr> <dbl>
1 A         3
2 B        12
Sponsored Link