HOWTO · R

NA R では省略

このチュートリアルでは、R で na.omit() を使用して不要な NA 値を削除する方法を示します。

R の na.omit() メソッドは、R のデータ フレームからすべての不要な値を省略します。NA はこれらの値を示します。

このチュートリアルでは、R で na.omit を使用する方法を示します。

na.omit() を使用して R のベクトルから NA 値を削除する

na.omit() はベクトルから NA 値を削除できます。 例を参照してください。

#define the vector
a <- c(13, NA, NA, 7, NA, 19)

print(a)

#remove NA values from vector using na.omit
a <- na.omit(a)

a

このコードは、最初にベクトルを NA 値で出力し、次に NA 値を省略します。 出力を参照してください:

[1] 13 NA NA  7 NA 19

[1] 13  7 19
attr(,"na.action")
[1] 2 3 5
attr(,"class")
[1] "omit"

na.omit の出力は、残りの値と NA 値のインデックス番号です。 以下のコードを使用して、単純な残りの値を取得できます。

#define the vector
a <- c(13, NA, NA, 7, NA, 19)

print(a)

#remove NA values from vector using na.omit, as.numeric
a <- as.numeric(na.omit(a))

a

出力はシンプルになります。

[1] 13 NA NA  7 NA 19

[1] 13  7 19

na.omit() を使用して、R のデータ フレームから NA 値を持つ行を削除する

na.omit() は、データ フレームから NA 値を持つ行を削除できます。 例を参照してください:

Delftstack = data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                        LastName=c(NA, 'Cena', 'Chandler', 'McCool', 'Nitro'),
                        Id=c(101, 102, NA, 104, NA),
                        Designation=c('CEO', 'Project Manager', NA , 'Junior Dev', 'Intern'))


# Data frame before omit
Delftstack

# Use omit
Delftstack <- na.omit(Delftstack)

# Data frame after omit
Delftstack

上記のコードは、指定されたデータ フレームから NA 値を持つすべての行を削除します。 出力を参照してください:

      Name LastName  Id     Designation
1     Jack     <NA> 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler  NA            <NA>
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro  NA          Intern

      Name LastName  Id     Designation
2     John     Cena 102 Project Manager
4 Michelle   McCool 104      Junior Dev

na.omit() を使用して、R の特定の列から NA 値を持つ行を削除する

na.omit() は、列に基づいて指定できます。 列名を渡して、その特定の列に基づいてNA値を持つ行を削除できます。 例を参照してください:

Delftstack = data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
                        LastName=c(NA, 'Cena', 'Chandler', 'McCool', 'Nitro'),
                        Id=c(101, 102, NA, 104, NA),
                        Designation=c('CEO', 'Project Manager', NA , 'Junior Dev', 'Intern'))


# Data frame before omit
Delftstack

# Use omit
Delftstack <- Delftstack[!(is.na(Delftstack$Id)), ]

# Data frame after omit
Delftstack

このコードは、Id 列に基づいて NA 値を持つ行を削除します。 出力を参照してください:

      Name LastName  Id     Designation
1     Jack     <NA> 101             CEO
2     John     Cena 102 Project Manager
3     Mike Chandler  NA            <NA>
4 Michelle   McCool 104      Junior Dev
5   Jhonny    Nitro  NA          Intern

      Name LastName  Id     Designation
1     Jack     <NA> 101             CEO
2     John     Cena 102 Project Manager
4 Michelle   McCool 104      Junior Dev