Dplyr を使用して行を削除する方法 (例あり)
dplyr を使用して R のデータ フレームから行を削除するには、次の基本構文を使用できます。
1. NA の行を削除します。
df %>%
n / A. omit ()
2. 特定の列の NA を持つ行を削除します。
df %>% filter( ! is. na (column_name))
3. 重複を削除する
df %>%
distinct()
4. インデックス位置による行の削除
df %>% filter( ! row_number() %in% c(1, 2, 4))
5. 条件に基づいて行を削除します
df %>%
filter(column1 == ' A ' | column2 > 8)
次の例は、次のデータ フレームでこれらの各メソッドを実際に使用する方法を示しています。
library (dplyr)
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C'),
points=c(4, NA, 7, 5, 9, 9),
assists=c(1, 3, 5, NA, 2, 2))
#view data frame
df
team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2
6 C 9 2
例 1: NA を含む行を削除する
次のコードは、NA 値を含む行をデータ フレームから削除する方法を示しています。
#remove any row with NA df %>% n / A. omit () team points assists 1 to 4 1 3 B 7 5 5 C 9 2 6 C 9 2
例 2: 特定の列の NA を持つ行を削除する
次のコードは、特定の列に NA 値を含む行を削除する方法を示しています。
#remove any row with NA in 'points' column: df %>% filter( ! is. na (dots)) team points assists 1 to 4 1 2 B 7 5 3 B 5 NA 4 C 9 2 5 C 9 2
例 3: 重複行を削除する
次のコードは、重複した行を削除する方法を示しています。
#remove duplicate rows
df %>%
distinct()
team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2
例 4: インデックス位置による行の削除
次のコードは、インデックスの位置に基づいて行を削除する方法を示しています。
#remove rows 1, 2, and 4 df %>% filter( ! row_number() %in% c(1, 2, 4)) team points assists 1 B 7 5 2 C 9 2 3 C 9 2
例 5: 条件に基づいて行を削除する
次のコードは、特定の条件に基づいて行を削除する方法を示しています。
#only keep rows where team is equal to 'A' or points is greater than 8 df %>% filter(column1 == ' A ' | column2 > 8) team points assists 1 to 4 1 2 A NA 3 3 C 9 2 4 C 9 2
追加リソース
次のチュートリアルでは、dplyr で他の一般的な機能を実行する方法を説明します。
dplyrを使用してインデックスによって列を選択する方法
dplyr を使用して変数をグループ別に並べ替える方法
dplyr で NA をゼロに置き換える方法