Rの特定の列でnaの行を削除する方法


次の 3 つの方法のいずれかを使用して、R のデータ フレームの特定の列にある NA の行を削除できます。

 #use is.na() method
df[!is. na (df$col_name),]

#use subset() method
subset(df, !is. na (col_name))

#use tidyr method
library (tidyr)
df %>% drop_na(col_name)

これらの各メソッドは同じ結果を生成することに注意してください。

次の例は、次のデータ フレームでこれらの各メソッドを実際に使用する方法を示しています。

 #create data frame
df <- data. frame (a = c(NA, 14, 19, 22, 26),
                 b = c(14, NA, 9, NA, 5),
                 c = c(45, 56, 54, 57, 59))

#view data frame
df

ABC
1 NA 14 45
2 14 NA 56
3 19 9 54
4 22 NA 57
5 26 5 59

方法 1: is.na() を使用して NA の行を削除する

次のコードは、 is.na()メソッドを使用して、特定の列に NA 値を持つデータ フレームから行を削除する方法を示しています。

 #remove rows from data frame with NA values in column 'b'
df[!is. na (df$b),]

   ABC
1 NA 14 45
3 19 9 54
5 26 5 59

方法 2: subset() を使用して NA の行を削除する

次のコードは、 subset()メソッドを使用して、特定の列に NA 値を持つデータ フレームから行を削除する方法を示しています。

 #remove rows from data frame with NA values in column 'b'
subset(df, !is. na (b))

   ABC
1 NA 14 45
3 19 9 54
5 26 5 59

方法 3: drop_na() を使用して NA で行を削除する

次のコードは、 drop_na()メソッドを使用して、特定の列に NA 値を持つデータ フレームから行を削除する方法を示しています。

 library (tidyr)

#remove rows from data frame with NA values in column 'b'
df %>% drop_na(b)

   ABC
1 NA 14 45
3 19 9 54
5 26 5 59

3 つの方法のそれぞれが同じ結果を生成することに注意してください。

注:ここで、 drop_na() メソッドの完全なオンライン ドキュメントを見つけることができます。

追加リソース

R のデータ フレームの各行に関数を適用する方法
Rで行番号を取得する方法
R でデータ フレームに行を追加する方法

コメントを追加する

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