概要
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