[R]指定の列の値でデータフレームをソートする
order関数を使う。order関数は並び替えられたインデックスを返すので、並び替えられたデータフレームを作成するには、元のデータフレームにその戻り値のインデックスを指定すればよい。
以下は、3行2列のデータフレームを、2列目の数値でソートした例。order関数はデフォルトでは昇順にソートする。これを降順にしたいのであれば、decreasingオプションをTRUEにする必要がある。
> dtf <- data.frame(V1 = c("A", "B", "C"), V2 = c(1, 3, 2))
> dtf
V1 V2
1 A 1
2 B 3
3 C 2
> order(dtf$V2)
[1] 1 3 2
> order(dtf$V2, decreasing = TRUE)
[1] 2 3 1
> dtf[order(dtf$V2), ]
V1 V2
1 A 1
3 C 2
2 B 3
« [R]文字ベクトル内の文字を簡単に連結する | トップページ | [R]要素を単純に繰り返したベクトルを作成する »
「R(データフレーム)」カテゴリの記事
- [R]データフレームから指定した一列を取り出す(2025.10.10)
- [R]データフレームを指定した列だけのデータフレームに変換する(2025.10.09)
- [R]データフレームを指定した行だけのデータフレームに変換する(2025.09.30)
- [R]データフレームの列名を得る(2025.07.14)
- [R]データフレームの行を逆順に並び替える(2025.06.22)
« [R]文字ベクトル内の文字を簡単に連結する | トップページ | [R]要素を単純に繰り返したベクトルを作成する »

コメント