第5章 tidyverse(dplyr)で再現 ・ ノック 65 / 100 ・ [[000 - はじめに(使い方と目次)|目次]]<br>
← 前 [[064 - 列を作る・計算する]] ・ 次 → [[066 - 大きい順に並べ替える]]
> [!info] arrange() は「行を並べ替える」動詞です
> **`arrange()`**(アレンジ)は、指定した列の値を基準にして行を昇順(小さい順・アルファベット順)に並べ替える動詞です。`arrange(iris, Sepal.Length)` と書くと、がく片の長さが小さい順に並び替えられます。
>
> Rベースでは `iris[order(iris$Sepal.Length), ]` のように `order()` と `[]` を組み合わせて書いていました。`arrange()` では列名をそのまま書くだけなので、コードの意図が伝わりやすくなります。
## 問題
`iris` を Sepal.Length の昇順(小さい順)に並べ替え、先頭3行を表示してみましょう。
> [!tip] ヒント
> `arrange(データフレーム, 並べ替えの基準にする列名)` と書きます。デフォルトは小さい順(昇順)です。
> [!success]- 回答を見る
> ```r
> library(dplyr)
> arrange(iris, Sepal.Length) |> head(3)
> ```
> ```
> Sepal.Length Sepal.Width Petal.Length Petal.Width Species
> 1 4.3 3.0 1.1 0.1 setosa
> 2 4.4 2.9 1.4 0.2 setosa
> 3 4.4 3.0 1.3 0.2 setosa
> ```
> Rベースでは `iris[order(iris$Sepal.Length), ]` と書いていましたが、`arrange()` を使うと列名だけで並べ替えができます。