行の並べ替え

概要

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
Sponsored Link