Rで列を再配置する方法
多くの場合、R のデータ フレーム内の列を再配置したい場合があります。
幸いなことに、これはdplyrパッケージのselect()関数を使用して簡単に行うことができます。
library (dplyr)
このチュートリアルでは、次のデータ フレームを使用してこの関数を実際に使用する方法の例をいくつか示します。
#create data frame df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'), position = c('G', 'F', 'F', 'G', 'G'), points = c(12, 15, 19, 22, 32), rebounds = c(5, 7, 7, 12, 11)) #view data frame df player position points rebounds 1 to G 12 5 2 b F 15 7 3 c F 19 7 4 d G 22 12 5th G 32 11
例 1: 列を最初の位置に移動する
次のコードは、データ フレーム内の特定の列を最初の位置に移動する方法を示しています。
#move column 'points' to first position df %>% select(points, everything() ) points player position rebounds 1 12 a G 5 2 15 b F 7 3 19 c F 7 4 22 d G 12 5 32nd G 11
このコードは、最初にポイント列を選択し、その後ポイントの後に他のすべての列を含めるよう dplyr に指示します。
例 2: 列を最後の位置に移動する
次のコードは、データ フレーム内の特定の列を最後の位置に移動する方法を示しています。
#move column 'points' to last position
df %>% select(-points, points)
player position rebounds points
1 to G 5 12
2 b F 7 15
3c F 7 19
4 d G 12 22
5th G 11 32
このコードは、dplyr に、ポイント列を除くすべての列を選択してから、ポイント列を再度選択するように指示します。これには、ポイントの列がデータ フレーム内の最後の位置に移動する効果があります。
例 3: 複数の列を再配置する
次のコードは、複数の列を特定の順序で一度に再配置する方法を示しています。
#change all column names to uppercase
df %>% select(rebounds, position, points, player)
rebounds position points player
1 5 G 12 a
2 7 F 15 b
3 7 F 19 c
4 12 G 22 d
5 11 G 32 e
例 4: 列をアルファベット順に並べ替えます
次のコードは、列をアルファベット順に並べ替える方法を示しています。
#order columns alphabetically
df %>% select(order(colnames(.)))
player points position rebounds
1 to 12 G 5
2 b 15 F 7
3 c 19 F 7
4 d 22 G 12
5 th 32 G 11
例 5: 列の順序を逆にする
次のコードは、データ フレーム内の列の順序を逆にする方法を示しています。
#reverse column order df %>% select(rebounds:player, everything() ) rebound points position player 1 5 12 G a 2 7 15 F b 3 7 19 F c 4 12 22 L d 5 11 32 G e
注: select()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、dplyr で他の一般的な操作を実行する方法を説明します。
dplyrを使用してインデックスによって列を選択する方法
dplyr を使用して名前で列を選択する方法
dplyr を使用してデータ フレームに列を追加する方法