Datenrahmenzeilen löschen

Datenrahmenzeilen löschen
Angenommen, es gibt eine Situation, um Zeilen in einem R -Datenrahmen zu löschen. Wie wirst du das machen?

Dieser Artikel zeigt verschiedene Möglichkeiten zum Löschen von Zeilen aus einem Datenrahmen.

Erstellen wir einen Marktdatenrahmen mit vier Zeilen und fünf Spalten.

#create einen DataFrame-Market mit 4 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,3,4), markt_name = c ('m1', 'm2', 'm3', 'm4'), markt_place = c
('Indien', 'USA', 'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Lebensmittelgeschäft', 'Restaurantent'),
markt_squarefeet = c (120.342,220,110))
#Display der Marktdatenrahmen
Druck (Markt)

Ergebnis:

Sie können den Marktdatenrahmen im folgenden Bild sehen:

Szenario 1: Entfernen Sie eine einzelne Zeile

Wir entfernen in diesem Szenario eine einzelne Zeile aus dem Datenrahmen. Basierend auf der Zeilennummer oder dem Zeilenindex können wir es entfernen. In R beginnt die Indexierung ab 1.

Hier werden wir den Zeilenindex über den Operator „-“ (minus) abschließen, den wir entfernen möchten.

Syntax:

DataFrame_Object [-row,]

Wo,

"Reihe" bezieht sich auf die Zeilenposition.

Lassen Sie uns ein Beispiel sehen, um dieses Szenario zu demonstrieren.

Beispiel

In diesem Beispiel werden wir die ersten und vierten Zeilen separat entfernen und die verbleibenden Zeilen in einem Marktdatenrahmen für jedes Szenario anzeigen.

#create einen DataFrame-Market mit 4 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,3,4), markt_name = c ('m1', 'm2', 'm3', 'm4'), markt_place = c
('Indien', 'USA', 'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Lebensmittelgeschäft', 'Restaurantent'),
markt_squarefeet = c (120.342,220,110))
#Remove 1. Zeile und zeigen Sie verbleibende Zeilen in einem Datenrahmen an
Druck (Markt [-1,])
#Remove 4. Zeile und zeigen Sie verbleibende Zeilen in einem Datenrahmen an
Druck (Markt [-4,])

Ergebnis:

Szenario 2: Mehrere Zeilen entfernen

In diesem Szenario entfernen wir mehrere Zeilen aus dem Datenrahmen. Basierend auf den Zeilennummern oder Zeilenindizes können wir sie entfernen. In R beginnt die Indexierung ab 1.

Methode 1: Entfernen Sie bestimmte Zeilen

Hier werden wir die Zeilenindizes abschließen, die wir entfernen möchten, indem wir sie in einem Vektor durch den „(minus) Operator„-“(minus) angeben möchten.

Syntax:

DataFrame_Object [-c (Zeile,…),]

Wo,

"Reihe" bezieht sich auf die Zeilenposition.

Lassen Sie uns ein Beispiel sehen, um dieses Szenario zu demonstrieren.

Beispiel

Wir werden in diesem Beispiel die zweiten, dritten und vierten Zeilen aus dem Marktdatenrahmen entfernen.

#create einen DataFrame-Market mit 4 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,3,4), markt_name = c ('m1', 'm2', 'm3', 'm4'), markt_place = c
('Indien', 'USA', 'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Lebensmittelgeschäft', 'Restaurantent'),
markt_squarefeet = c (120.342,220,110))
#Remove 2,3 und 4 Zeilen aus dem Marktdatenrahmen
Print (Markt [-C (2, 3, 4),])

Ergebnis:

Wir können sehen, dass die verbleibende Reihe-1 zurückgegeben wird.

Methode 2: Zeilen im Bereich entfernen

Hier werden wir die Zeilenindizes in dem Bereich, den wir entfernen möchten.

Syntax:

DataFrame_Object [-c (zuerst: zuletzt),]

Wo,

"First" bezieht sich auf die Position der ersten Reihe, und "letztes" bezieht sich auf die letzte Reihe.

Lassen Sie uns ein Beispiel sehen, um dieses Szenario zu demonstrieren.

Beispiel

In diesem Beispiel werden wir die Zeilen von der zweiten Position zur vierten Position entfernen.

#create einen DataFrame-Market mit 4 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,3,4), markt_name = c ('m1', 'm2', 'm3', 'm4'), markt_place = c
('Indien', 'USA', 'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Lebensmittelgeschäft', 'Restaurantent'),
markt_squarefeet = c (120.342,220,110))
#Remove Zeilen von 2 bis 4 Index.
print (markt [-c (2: 4),])

Ergebnis:

Wir können sehen, dass die verbleibende Reihe-1 zurückgegeben wird.

Methode 3: Zeilen bis zum letzten Mal entfernen

Hier werden wir die Zeilenindizes in einem Bereich über den Operator „-“ (minus) versichern, möchten wir entfernen, indem wir diese Bereiche in einem Vektor angeben. NROW () gibt den letzten Zeilenindex zurück, sodass wir Zeilen entfernen können, indem wir diese als letzte Position angeben.

Syntax:

DataFrame_Object [-c (zuerst: NROW (DataFrame_Object)),]

Wo,

"First" bezieht sich auf die Position der ersten Reihe, und "nRow ()" bezieht sich auf die letzte Reihe.

Lassen Sie uns ein Beispiel sehen, um dieses Szenario zu demonstrieren.

Beispiel

In diesem Beispiel entfernen wir die Zeilen von der zweiten Position bis zum Ende des Datenrahmens.

#create einen DataFrame-Market mit 4 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,3,4), markt_name = c ('m1', 'm2', 'm3', 'm4'), markt_place = c
('Indien', 'USA', 'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Lebensmittelgeschäft', 'Restaurantent'),
markt_squarefeet = c (120.342,220,110))
#Remove Zeilen von 2 bis Ende der Reihe
print (markt [-c (2: nrow (markt)),]))

Ergebnis:

Wir können sehen, dass die verbleibende Reihe-1 zurückgegeben wird.

Ansatz 3: Zeilen mit Untergruppe entfernen ()

Subset () -Methode in R filtert die Zeilen basierend auf der Bedingung. Wenn die Bedingung „falsch“ ist, werden diese Zeilen aus dem Datenrahmen entfernt und kehren zu den verbleibenden Zeilen zurück.

Syntax:

Subset (DataFrame_Object, Bedingung)

Parameter:

Es dauert zwei Parameter.

  1. DataFrame_Object ist der Datenrahmen.
  2. Der Zustand bezieht sich auf logische oder ausdrucksstarke Aussagen.

Beispiel

In diesem Beispiel werden wir Zeilen auswählen, wo,

  1. markt_id größer als 2
  2. markt_place ist Indien
  3. Market_Squarefeet - weniger als oder gleich 230
#create einen DataFrame-Market mit 4 Zeilen und 5 Spalten.
Markt = Daten.Frame (markt_id = c (1,2,3,4), markt_name = c ('m1', 'm2', 'm3', 'm4'), markt_place = c
('Indien', 'USA', 'Indien', 'Australien'), markt_type = c ('Lebensmittelgeschäft', 'Bar', 'Lebensmittelgeschäft', 'Restaurantent'),
markt_squarefeet = c (120.342,220,110))
#Wählen Sie Zeilen, wo markt_id größer als 2
print ("Zeilen mit markt_id größer als 2:")
print (subset (markt, markt_id> 2))
#Wählen Sie Zeilen, bei denen Market_place Indien ist
print ("Zeilen mit Market_Place ist Indien:")
print (subset (markt, markt_place == 'indien')))
#Wählen Sie Zeilen, bei denen Market_Squarefeet - weniger als oder gleich 230.
print ("Zeilen mit Market_Squarefeet weniger als oder gleich 230:")
Print (Untergruppe (Markt, Market_Squarefeet<=230 ))

Ergebnis:

Abschluss

In diesem Artikel haben wir gelernt, dass es möglich sein könnte, eine einzelne oder mehrere Zeilen zu löschen, indem Zeilenpositionen angegeben werden. Wenn Sie die Zeilen bedingt entfernen möchten, können Sie die Subset () -Methode verwenden und den Zustand darin angeben.