A: 特定の文字列を含む行を削除する方法


次の構文を使用して、R のデータ フレーム内の特定の文字列を含む行を削除できます。

 df[!grepl(' string ', df$column),]

このチュートリアルでは、R の次のデータ フレームを使用したこの構文の実際の使用例をいくつか示します。

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 conference=c('East', 'East', 'East', 'West', 'West', 'East'),
                 dots=c(11, 8, 10, 6, 6, 5))

#view data frame
df

  team conference points
1 A East 11
2 A East 8
3 A East 10
4 B West 6
5 B West 6
6 C East 5

例 1: 特定の文字列を含む行を削除する

次のコードは、チーム列に「A」を含むすべての行をデータ フレームから削除する方法を示しています。

 df[!grepl(' A ', df$team),]

  team conference points
4 B West 6
5 B West 6
6 C East 5

または、会議列に「West」を含むすべての行をデータ フレームから削除することもできます。

 df[!grepl(' West ', df$conference),]

  team conference points
1 A East 11
2 A East 8
3 A East 10
6 C East 5

例 2: リスト内の文字列を含む行を削除する

次のコードは、チーム列に「A」または「B」を含むすべての行をデータ フレームから削除する方法を示しています。

 df[!grepl(' A|B ', df$team),]

6 C East 5

文字列のベクトルを定義してから、チーム列内のベクトルの文字列を含むデータ フレーム内のすべての行を削除することもできます。

 #define vector of strings
remove <- c(' A ', ' B ')

#remove rows that contain any string in the vector in the team column
df[!grepl( paste (remove, collapse=' | '), df$team),]

6 C East 5

どちらの方法でも同じ結果が得られることに注意してください。

追加リソース

R で一部またはすべての NA を含む行を削除する方法
Rで重複行を削除する方法
R の特定の行を合計する方法

コメントを追加する

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