R でデータ フレームを列で並べ替える方法 (例あり)


R でデータ フレームを列ごとに並べ替える最も簡単な方法は、 order()関数を使用することです。

 #sort ascending
df[ order (df$var1), ]

#sort descending
df[ order (-df$var1), ]

このチュートリアルでは、次のデータ フレームでこの関数を実際に使用する方法の例をいくつか示します。

 #create data frame
df <- data. frame (var1=c(1, 3, 3, 4, 5),
                 var2=c(7, 7, 8, 3, 2),
                 var3=letters[1:5])

#view data frame
df

  var1 var2 var3
1 1 7 a
2 3 7b
3 3 8 c
4 4 3 d
5 5 2nd

例 1: 列によるソート

次のコードは、データ フレームを列var1で昇順と降順の両方で並べ替える方法を示しています。

 #sort by var1 ascending
df[ order (df$var1), ]

  var1 var2 var3
1 1 7 a
2 3 7b
3 3 8 c
4 4 3 d
5 5 2nd

#sort by var1 descending
df[ order (-df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
2 3 7 b
3 3 8 c
1 1 7 a

文字ベクトルによってアルファベット順に並べ替えることもできることに注意してください。

 #sort by var3 ascending
df[ order (df$var3), ]

  var1 var2 var3
1 1 7 a
2 3 7 b
3 3 8 c
4 4 3 d
5 5 2nd

例 2: 複数の列で並べ替える

次のコードは、データ フレームを複数の列で並べ替える方法を示しています。

 #sort by var2 ascending, then var1 ascending
df[ order (df$var2, df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
1 1 7 a
2 3 7b
3 3 8 c

#sort by var2 ascending, then var1 descending
df[ order (df$var2, -df$var1), ]

  var1 var2 var3
5 5 2nd
4 4 3 d
2 3 7b
1 1 7 a
3 3 8 c

追加リソース

R でデータ フレームに列を追加する方法
R でデータフレームを日付で並べ替える方法
Rで文字を数値に変換する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です