R で na.omit を使用する方法 (例あり)


R でna.omit()関数を使用すると、ベクトル、行列、またはデータ フレーム内のすべての不完全なケースを削除できます。

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

 #omit NA values from vector
x <- na. omitted (x)

#omit rows with NA in any column of data frame
df <- na. omitted (df)

#omit rows with NA in specific column of data frame
df <- df[ ! (is. na (df$column)), ]

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

例 1: ベクトルから NA 値を省略する

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

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

#omit NA values from vector
x <- na. omitted (x)

x

[1] 1 24 6 9
attr(,"na.action")
[1] 3 5
attr(,"class")
[1] “omitted”

出力の最初の行には NA 値のないベクトルが表示され、次の 2 行には NA 値の位置に関する追加情報が表示されます。

次のコードを使用すると、NA 値なしで単純にベクトルを返すことができます。

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

#omit NA values from vector
x <- as. numeric (na. omit (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

#omit rows with NA value in any column data frame
df <- na. omitted (df)

#view data frame 
df

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

例 3: データ フレームの特定の列で NA の行を省略する

データ フレームの特定の列で NA 値を持つ行を省略するには、実際には次のようにis.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 x column
df <- df[ ! (is. na (df$x)), ]

#view data frame 
df

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

追加リソース

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

コメントを追加する

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