R で complete.cases を使用する方法 (例あり)


R のcomplete.cases()関数を使用すると、ベクトル、行列、またはデータ フレーム内の欠損値を削除できます。

この関数は次の基本構文を使用します。

 #remove missing values from vector
x <- x[complete. boxes (x)]

#remove rows with missing values in any column of data frame
df <- df[complete. boxes (df), ]

#remove rows with NA in specific columns of data frame
df <- df[complete. cases (df[, c(' col1 ', ' col2 ', ...)]), ] 

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

例 1: ベクトルから欠損値を削除する

次のコードは、ベクトルからすべての NA 値を削除する方法を示しています。

 #definevector
x <- c(1, 24, NA, 6, NA, 9)

#remove NA values from vector
x <- x[complete. boxes (x)]

x

[1] 1 24 6 9

例 2: データ フレームの任意の列で NA の行を削除する

次のコードは、データ フレームの任意の列で NA 値を持つ行を削除する方法を示しています。

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#remove rows with NA value in any column data frame
df <- df[complete. boxes (df), ]

#view data frame 
df

   X Y Z
2 24 3 7
4 6 8 15
6 9 12 14

例 3: データ フレームの特定の列にある NA の行を削除する

次のコードは、データ フレームの特定の列にある NA 値を持つ行を削除する方法を示しています。

 #define data frame
df <- data. frame (x=c(1, 24, NA, 6, NA, 9),
                 y=c(NA, 3, 4, 8, NA, 12),
                 z=c(NA, 7, 5, 15, 7, 14))

#view data frame
df

   X Y Z
1 1 NA NA
2 24 3 7
3 NA 4 5
4 6 8 15
5 NA NA 7
6 9 12 14

#remove rows with NA value in y or z column
df <- df[complete. cases (df[, c(' y ', ' z ')]), ]

#view data frame 
df

   X Y Z
2 24 3 7
3 NA 4 5
4 6 8 15
6 9 12 14

追加リソース

R で「Is Not NA」を使用する方法
Rで欠損値をすべて代入する方法
R で NA を文字列に置き換える方法

コメントを追加する

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