Rの1列にNAがある行を削除する
-
R の
is.na()
メソッドを使用して、1つの列にNA
を含む行を削除する -
R で
complete.cases()
メソッドを使用して、1つの列にNA
を含む行を削除する -
RのTidyrライブラリ
drop_na()
メソッドを使用して、1列にNA
を含む行を削除する
データ フレームの列には、キーワード NA
で表される空の値を含めることができます。 このチュートリアルでは、R の 1つの列に NA
値を含む行を削除する方法を示します。
R の is.na()
メソッドを使用して、1つの列に NA
を含む行を削除する
メソッド is.na()
は、データ フレーム内の NA
値を探し、NA
値の行を削除します。 プロセスを以下に示します。
- まず、データフレームを作成します。
- 削除する
NA
値と行に基づいて列を選択します。 - パラメータ
dataframe$columnname
をバイパスするメソッドis.na()
で否定を作成します。 - メソッドは、指定された列に
NA
値が含まれているかどうかを確認して、行を削除します。
上記の手順に従って、例を試してみましょう。
例:
Delftstack = data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
Id=c(101, 102, NA, 104, NA),
Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))
print('The dataframe before removing the rows:-')
print(Delftstack)
print('The dataframe after removing the rows:-')
Delftstack[!is.na(Delftstack$Id),]
上記のコードは、Id
列の NA
値に基づいて行を削除します。
出力:
[1] "The dataframe before removing the rows:-"
Name LastName Id Designation
1 Jack Danials 101 CEO
2 John Cena 102 Project Manager
3 Mike Chandler NA Senior Dev
4 Michelle McCool 104 Junior Dev
5 Jhonny Nitro NA Intern
[1] "The dataframe after removing the rows:-"
Name LastName Id Designation
1 Jack Danials 101 CEO
2 John Cena 102 Project Manager
4 Michelle McCool 104 Junior Dev
R で complete.cases()
メソッドを使用して、1つの列に NA
を含む行を削除する
メソッド complete.cases()
は is.na()
メソッドと同様に機能します。 complete.cases
メソッドは、データ フレーム内の NA
値を探し、この値を含む行を削除します。
プロセスは上記の手順と似ていますが、complete.cases()
で否定を使用しないことだけが異なります。
例:
Delftstack = data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
Id=c(101, 102, NA, 104, NA),
Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))
print('The dataframe before removing the rows:-')
print(Delftstack)
print('The dataframe after removing the rows:-')
Delftstack[complete.cases(Delftstack$Id),]
上記のコードは、Id
列の NA
値に基づいて行を削除します。
出力:
[1] "The dataframe before removing the rows:-"
Name LastName Id Designation
1 Jack Danials 101 CEO
2 John Cena 102 Project Manager
3 Mike Chandler NA Senior Dev
4 Michelle McCool 104 Junior Dev
5 Jhonny Nitro NA Intern
[1] "The dataframe after removing the rows:-"
Name LastName Id Designation
1 Jack Danials 101 CEO
2 John Cena 102 Project Manager
4 Michelle McCool 104 Junior Dev
RのTidyrライブラリdrop_na()
メソッドを使用して、1列にNA
を含む行を削除する
tidyr ライブラリの drop_na()
は、NA
値列に基づいて行を削除します。 最初に、まだインストールされていない場合は、tidyr ライブラリをインストールする必要があります。
次のコードを実行して、パッケージをインストールします。
install.packages('tidyverse')
コード出力は上記の方法と似ていますが、プロセスは少し異なります。 dataframe %>% drop_na(column)
構文を使用して行を削除します。
例:
library(tidyr)
Delftstack = data.frame(Name=c('Jack', 'John', 'Mike', 'Michelle', 'Jhonny'),
LastName=c('Danials', 'Cena', 'Chandler', 'McCool', 'Nitro'),
Id=c(101, 102, NA, 104, NA),
Designation=c('CEO', 'Project Manager', 'Senior Dev', 'Junior Dev', 'Intern'))
print('The dataframe before removing the rows:-')
print(Delftstack)
print('The dataframe after removing the rows:-')
Delftstack %>% drop_na(Id)
上記のコードは、上記のメソッドと同様に機能します。
出力:
[1] "The dataframe before removing the rows:-"
Name LastName Id Designation
1 Jack Danials 101 CEO
2 John Cena 102 Project Manager
3 Mike Chandler NA Senior Dev
4 Michelle McCool 104 Junior Dev
5 Jhonny Nitro NA Intern
[1] "The dataframe after removing the rows:-"
Name LastName Id Designation
1 Jack Danials 101 CEO
2 John Cena 102 Project Manager
4 Michelle McCool 104 Junior Dev
na.omit()
、filter()
などのメソッドもあり、任意の列にある NA
値に基づいて行を削除するために使用されます。 1つの列ではなく、複数の列に基づいて値を削除します。
Sheeraz is a Doctorate fellow in Computer Science at Northwestern Polytechnical University, Xian, China. He has 7 years of Software Development experience in AI, Web, Database, and Desktop technologies. He writes tutorials in Java, PHP, Python, GoLang, R, etc., to help beginners learn the field of Computer Science.
LinkedIn Facebook