« [R]文字ベクトル内の文字を簡単に連結する | トップページ | [R]要素を単純に繰り返したベクトルを作成する »

2017年5月23日 (火)

[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]文字ベクトル内の文字を簡単に連結する | トップページ | [R]要素を単純に繰り返したベクトルを作成する »

無料ブログはココログ

■■

■■■