概要
dplyrパッケージに含まれるarrange()のスコープ付き関数は、行の並べ替えを簡潔なコードで記述できる関数です。
関連ページ
関数
arrange_all(.data, .funs = list(), ..., .by_group = FALSE)
arrange_at(.data, .vars, .funs = list(), ..., .by_group = FALSE)
arrange_if(.data, .predicate, .funs = list(), ..., .by_group = FALSE)
| 引数 | 指定 | 説明 |
|---|---|---|
| .data | 必須 | データフレーム |
| .by_group | 必須 | グループ化された列を並べ替えの対象にする場合はTRUEを指定する |
| .funs | 任意 | 昇順降順を指定( ~ . で昇順 desc で降順) |
| .vars | 必須 | arrange_at()で使用する引数対象となる列を変数または文字列で指定する |
| .predicate | 必須 | arrange_if()で使用する引数対象となる列を返り値がBool型の関数で指定する |
使い方
スコープ付き関数の基本的な使い方は専用の解説ページを参照してください。
解説用テーブル
df <- tibble::tibble(
x1 = c(2, 1, 2, 1, 2, 1),
x2 = c(3, 2, 1, 1, 2, 3),
)
> df
# A tibble: 6 x 2
x1 x2
<dbl> <dbl>
1 2 3
2 1 2
3 2 1
4 1 1
5 2 2
6 1 3
1.全ての列を並べ替える
arrange_all()では列の優先順位を指定できないため、あらかじめselect()で列を並べ替える必要があります。昇順で並べ替える時は.funsの指定は不要です。
# 全ての列を降順に並べ替える
arrange_all(df, .funs = desc)
# A tibble: 6 x 2
x1 x2
<dbl> <dbl>
1 2 3
2 2 2
3 2 1
4 1 3
5 1 2
6 1 1