Zeilen mit NA in einer Spalte in R entfernen
-
Entfernen Sie Zeilen mit
NA
in einer Spalte mit der Methodeis.na()
in R -
Entfernen Sie Zeilen mit
NA
in einer Spalte mit der Methodecomplete.cases()
in R -
Entfernen Sie Zeilen mit
NA
in einer Spalte mit der Methodedrop_na()
der Tidyr-Bibliothek in R
Spalten in einem Datenrahmen können leere Werte haben, die durch das Schlüsselwort NA
dargestellt werden. Dieses Tutorial zeigt, wie Sie die Zeilen entfernen, die einen NA
-Wert in einer Spalte in R enthalten.
Entfernen Sie Zeilen mit NA
in einer Spalte mit der Methode is.na()
in R
Die Methode is.na()
sucht nach den NA
-Werten in einem Datenrahmen und entfernt die Zeilen der NA
-Werte. Der Prozess ist unten angegeben:
- Erstellen Sie zunächst den Datenrahmen.
- Wählen Sie die Spalte basierend auf
NA
-Werten und Zeilen aus, die Sie löschen möchten. - Erstellen Sie eine Negation mit der Methode
is.na()
unter Umgehung des Parametersdataframe$columnname
. - Die Methode entfernt die Zeilen, indem sie die angegebene Spalte überprüft, ob sie einen
NA
-Wert enthält.
Lassen Sie uns ein Beispiel versuchen, indem Sie die obigen Schritte ausführen.
Beispiel:
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),]
Der obige Code löscht die Zeilen basierend auf den NA
-Werten in der Id
-Spalte.
Ausgang:
[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
Entfernen Sie Zeilen mit NA
in einer Spalte mit der Methode complete.cases()
in R
Die Methode complete.cases()
funktioniert ähnlich wie die Methode is.na()
. Die Methode complete.cases
sucht nach den NA
-Werten in einem Datenrahmen und entfernt die Zeilen, die diesen Wert enthalten.
Der Prozess ähnelt den oben beschriebenen Schritten, der einzige Unterschied besteht darin, dass wir keine Negation mit complete.cases()
verwenden.
Beispiel:
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),]
Der obige Code löscht die Zeilen basierend auf den NA
-Werten in der Id
-Spalte.
Ausgang:
[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
Entfernen Sie Zeilen mit NA
in einer Spalte mit der Methode drop_na()
der Tidyr-Bibliothek in R
Das drop_na()
aus der Tidyr-Bibliothek löscht die Zeilen basierend auf der Wertespalte NA
. Zuerst müssen Sie die Tidyr-Bibliothek installieren, falls sie noch nicht installiert ist.
Führen Sie den folgenden Code aus, um das Paket zu installieren:
install.packages('tidyverse')
Obwohl die Codeausgabe den oben genannten Methoden ähnelt, ist der Prozess etwas anders. Wir verwenden die Syntax dataframe %>% drop_na(column)
, um die Zeilen zu löschen.
Beispiel:
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)
Der obige Code funktioniert ähnlich wie die obigen Methoden.
Ausgang:
[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
Es gibt auch Methoden wie na.omit()
, filter()
usw., die verwendet werden, um Zeilen basierend auf den in einer beliebigen Spalte gefundenen NA
-Werten zu entfernen. Sie entfernen die Werte basierend auf mehreren Spalten, nicht einer Spalte.
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