Rで線を配置する方法


多くの場合、R のデータ フレームの行を特定の順序で配置したい場合があります。幸いなことに、これはdplyrライブラリのarray()関数を使用して簡単に行うことができます。

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

 #create data frame
df <- data.frame(player = c('A', 'B', 'C', 'D', 'E', 'F', 'G'),
                 points = c(12, 14, 14, 15, 20, 18, 29),
                 assists = c(3, 5, 7, 8, 14, NA, 9))

#view data frame 
df

  player points assists
1 to 12 3
2 B 14 5
3 C 14 7
4 D 15 8
5 E 20 14
6 F 18 NA
7 G 29 9

例 1: 列ごとに整理する

次のコードは、「ポイント」列の値に基づいてデータ フレームを昇順に配置する方法を示しています。

 library(dplyr)

df %>% arrange(points)

  player points assists
1 to 12 3
2 B 14 5
3 C 14 7
4 D 15 8
5 F 18 NA
6 E 20 14
7 G 29 9

降順で並べ替えるには、 desc()関数を使用できます。

 df %>% arrange( desc (dots))

  player points assists
1 G 29 9
2 E 20 14
3 F 18 NA
4 D 15 8
5 B 14 5
6 C 14 5
7 to 12 3

昇順または降順で並べ替えるかどうかに関係なく、NA は最後まで並べ替えられることに注意してください。

 df %>% arrange(assists)

  player points assists
1 to 12 3
2 B 14 5
3 C 14 7
4 D 15 8
5 G 29 9
6 E 20 14
7 F 18 NA

df %>% arrange( desc (assists))

  player points assists
1 E 20 14
2 G 29 9
3 D 15 8
4 C 14 7
5 B 14 5
6 to 12 3
7 F 18 NA

例 2: 複数の列にまたがって配置する

複数の列にわたって行を配置するには、引数としてさらに多くの列名を指定するだけです。

 #sort by points, then assists
df %>% arrange(points, assists)

  player points assists
1 to 12 3
2 B 14 5
3 C 14 7
4 D 15 8
5 F 18 NA
6 E 20 14
7 G 29 9

行を昇順の列と降順の列で整理することもできます。

 #sort by points ascending, then assists descending
df %>% arrange(points, desc (assists))

  player points assists
1 to 12 3
2 C 14 7
3 B 14 5
4 D 15 8
5 F 18 NA
6 E 20 14
7 G 29 9

例 3: カスタム順序で行を配置する

場合によっては、カスタム順序で行を並べ替えたい場合もあります。特定のレベルの因子を使用すると、これを簡単に行うことができます。

 #sort by player with custom order
df %>% arrange( factor (player, levels = c('D', 'C', 'A', 'B', 'E', 'F', 'G')))

  player points assists
1 D 15 8
2 C 14 7
3 to 12 3
4 B 14 5
5 E 20 14
6 F 18 NA
7 G 29 9

ここで、 arrange()関数の完全なドキュメントを見つけることができます。

コメントを追加する

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