概要
dplyr
パッケージに含まれるarrange()
は、行を昇順に並べ替える関数です。降順に並べ替える時はdesc()
を使用します。
# 行の並べ替えを行う
arrange(.data, ..., .by_group = FALSE)
# ソート関数(降順)
desc(x)
引数 | 指定 | 説明 |
---|---|---|
.data | 必須 | テーブルを指定する |
… | 必須 | 並べ替えを行う列を指定する |
.by_group | 任意 | グループ化された列を並べ替えの対象に含めるか否かを指定する デフォルト(FALSE)では並べ替えの対象に含みません |
関連ページ
具体例
並べ替えの優先順位は、先に指定した列が優先されます。.by_group = TRUE
を指定した場合はグループ化された列が優先されます。
## テーブルの作成
tbl <- tibble(
x1 = c(2, 1, 2, 1, 2, 1),
x2 = c(3, 2, 1, 1, 2, 3),
)
## テーブルの確認
tbl
# x1 x2
# <dbl> <dbl>
# 2 3
# 1 2
# 2 1
# 1 1
# 2 2
# 1 3
## 1-1.行を昇順に並べ替える
arrange(tbl, x1, x2)
# x1 x2
# <dbl> <dbl>
# 1 1
# 1 2
# 1 3
# 2 1
# 2 2
# 2 3
## 1-2.行を降順に並べ替える
arrange(tbl, desc(x1), desc(x2))
# x1 x2
# <dbl> <dbl>
# 2 3
# 2 2
# 2 1
# 1 3
# 1 2
# 1 1
## 2.グループ化した列を昇順に並べ替える
group_by(tbl, x1) %>%
arrange(x2, .by_group = TRUE)
# x1 x2
# <dbl> <dbl>
# 1 1
# 1 2
# 1 3
# 2 1
# 2 2
# 2 3