R で一部またはすべての na を含む行を削除する方法


多くの場合、R のデータ フレーム内の NA (欠損値) の一部またはすべてを含む行を削除したい場合があります。

このチュートリアルでは、Basic R とTidyrパッケージを使用してこれらの行を削除する方法を説明します。次の各例では、次のデータ フレームを使用します。

 #create data frame with some missing values
df <- data.frame(points = c(12, NA, 19, 22, 32),
                 assists = c(4, NA, 3, NA, 5),
                 rebounds = c(5, NA, 7, 12, NA))

#view data frame
df

  points assists rebounds
1 12 4 5
2 NA NA NA
3 19 3 7
4 22 NA 12
5 32 5 NA

Base R を使用して NA を削除する

次のコードは、 complete.cases()を使用して、に欠損値があるデータ フレーム内のすべての行を削除する方法を示しています。

 #remove all rows with a missing value in any column
df[ complete.cases (df),]

  points assists rebounds
1 12 4 5
3 19 3 7

次のコードは、 complete.cases()を使用して、特定の列に欠損値があるデータ フレーム内のすべての行を削除する方法を示しています。

 #remove all rows with a missing value in the third column
df[ complete.cases (df[,3]),]

  points assists rebounds
1 12 4 5
3 19 3 7
4 22 NA 12

#remove all rows with a missing value in either the first or third column
df[ complete.cases (df[ , c(1,3)]),]

  points assists rebounds
1 12 4 5
3 19 3 7
4 22 NA 12

Tidyr を使用して NA を削除する

次のコードは、Tidyr パッケージのDrop_na()を使用して、に欠損値があるデータ フレーム内のすべての行を削除する方法を示しています。

 #load tidyr package
library(tidyr)

#remove all rows with a missing value in any column
df %>% drop_na()

  points assists rebounds
1 12 4 5
3 19 3 7

次のコードは、Tidyr パッケージのDrop_na()を使用して、特定の列に欠損値があるデータ フレーム内のすべての行を削除する方法を示しています。

 #load tidyr package
library(tidyr)

#remove all rows with a missing value in the third column
df %>% drop_na(rebounds)

  points assists rebounds
1 12 4 5
3 19 3 7
4 22 NA 12

その他の R チュートリアルはここで見つけることができます。

コメントを追加する

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