第5章 tidyverse(dplyr)で再現 ・ ノック 66 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[065 - 並べ替える]] ・ 次 → [[067 - 要約する]]
> [!info] desc() で降順(大きい順)に並べ替えます
> `arrange()` はデフォルトで昇順(小さい順)に並べます。大きい順(**降順**)にしたいときは、列名を `desc(列名)` で包みます。`desc` は "descending"(降順)の略です。
>
> Rベースでは `iris[order(-iris$Sepal.Length), ]` のように列にマイナス記号を付けて降順にしていました。`arrange(iris, desc(Sepal.Length))` と書くと、何をしているかが一目でわかります。
## 問題
`iris` を Sepal.Length の降順(大きい順)に並べ替え、先頭3行を表示してみましょう。
> [!tip] ヒント
> `arrange()` の中で列名を `desc()` で包みます。`arrange(iris, desc(Sepal.Length))` という形になります。
> [!success]- 回答を見る
> ```r
> library(dplyr)
> arrange(iris, desc(Sepal.Length)) |> head(3)
> ```
> ```
> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
> 1 7.9 3.8 6.4 2.0 virginica
> 2 7.7 3.8 6.7 2.2 virginica
> 3 7.7 2.6 6.9 2.3 virginica
> ```
> Rベースでは `iris[order(-iris$Sepal.Length), ]` と書いていましたが、`desc()` を使うと降順であることが明示的に伝わります。