R で列を削除する方法 (例あり)
多くの場合、R のデータ フレームから 1 つ以上の列を削除したいことがあります。幸いなことに、これは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: 列を名前で削除する
次のコードは、名前によってデータ フレームから列を削除する方法を示しています。
#remove column named 'points'
df %>% select(-points)
player position rebounds
1 to G 5
2 b F 7
3 c F 7
4 d G 12
5th G 11
例 2: リストから列を削除する
次のコードは、特定のリストにある列をデータ フレームから削除する方法を示しています。
#remove columns named 'points' or 'rebounds' df %>% select(-one_of(' points ', ' rebounds ')) player position 1 a G 2 b F 3c F 4 d L 5th G
例 3: 範囲内の列を削除する
次のコードは、「position」から「bounces」までの範囲内のすべての列を削除する方法を示しています。
#remove columns in range from 'position' to 'rebounds'
df %>% select(-(position:rebounds))
player
1 a
2b
3 tbsp
4d
5th
例 4: 式を含む列を削除する
次のコードは、「points」という単語を含むすべての列を削除する方法を示しています。
#remove columns that contain the word 'points' df %>% select(-contains(' points ')) player position rebounds 1 to G 5 2 b F 7 3 c F 7 4 d G 12 5th G 11
例 5: 特定の文字で始まる列を削除する
次のコードは、「po」という文字で始まるすべての列を削除する方法を示しています。
#remove columns that start with 'po' df %>% select(-starts_with(' po ')) player rebounds 1 to 5 2 b 7 3 v 7 4 d 12 5 th 11
例 6: 特定の文字で終わる列を削除する
次のコードは、文字「s」で終わるすべての列を削除する方法を示しています。
#remove columns that end with 's' df %>% select(-ends_with(' s ')) player position 1 a G 2 b F 3c F 4 d G 5th G
例 7: 位置による列の削除
次のコードは、特定の位置の列を削除する方法を示しています。
#remove columns in position 1 and 4
df %>% select(-1, -4)
position points
1 G 12
2 F 15
3 F 19
4 G 22
5 G 32
注: select()関数の完全なドキュメントはここで見つけることができます。
追加リソース
次のチュートリアルでは、dplyr を使用して他の一般的な操作を実行する方法について説明します。
dplyrを使用して行を削除する方法
dplyrを使用してNA値を持つ行を削除する方法
dplyrを使用してインデックスによって列を選択する方法