Dplyr: 「存在しない」メッセージ フィルターの使用方法


dplyrで次の基本構文を使用すると、値のリストにないデータ フレーム内の行をフィルターできます。

 df %>%
  filter (!col_name %in% c(' value1 ', ' value2 ', ' value3 ', ...))

次の例は、この構文を実際に使用する方法を示しています。

例 1: 列に値が含まれていない行をフィルターする

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'),
                 points=c(12, 14, 19, 24, 36, 41, 18, 29))

#view data frame
df

  team position points
1 AG 12
2 AG 14
3 BF 19
4 BG 24
5 CF 36
6 CC 41
7 DC 18
8 DC 29

次の構文は、チーム名が「A」または「B」に等しくない行をフィルタリングする方法を示しています。

 #filter for rows where team name is not 'A' or 'B'
df %>%
filter (!team %in% c(' A ', ' B '))

team position points
1 CF 36
2 CC 41
3 DC 18
4 DC 29

例 2: 複数の列に値が含まれない行をフィルターする

R に次のデータ フレームがあるとします。

 #create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D', 'D'),
                 position=c('G', 'G', 'F', 'G', 'F', 'C', 'C', 'C'),
                 points=c(12, 14, 19, 24, 36, 41, 18, 29))

#view data frame
df

  team position points
1 AG 12
2 AG 14
3 BF 19
4 BG 24
5 CF 36
6 CC 41
7 DC 18
8 DC 29

次の構文は、チーム名が「A」と等しくなくポジションが「C」と等しくない行をフィルターする方法を示しています。

 #filter for rows where team name is not 'A' and position is not 'C'
df %>%
filter (!team %in% c(' A ') & !position %in% c(' C '))

team position points
1 BF 19
2 BG 24
3 CF 36

追加リソース

次のチュートリアルでは、dplyr で他の一般的な機能を実行する方法を説明します。

dplyrを使用して行を削除する方法
dplyrを使用してインデックスによって列を選択する方法
dplyrを使用して特定の文字列を含む行をフィルタリングする方法

コメントを追加する

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