A: so löschen sie zeilen, die eine bestimmte zeichenfolge enthalten


Mit der folgenden Syntax können Sie Zeilen entfernen, die eine bestimmte Zeichenfolge in einem Datenrahmen in R enthalten:

 df[!grepl(' string ', df$column),]

Dieses Tutorial bietet mehrere Beispiele für die praktische Verwendung dieser Syntax mit dem folgenden Datenrahmen in R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 conference=c('East', 'East', 'East', 'West', 'West', 'East'),
                 dots=c(11, 8, 10, 6, 6, 5))

#view data frame
df

  team conference points
1 A East 11
2 A East 8
3 A East 10
4 B West 6
5 B West 6
6 C East 5

Beispiel 1: Zeilen entfernen, die eine bestimmte Zeichenfolge enthalten

Der folgende Code zeigt, wie alle Zeilen aus dem Datenrahmen gelöscht werden, die „A“ in der Teamspalte enthalten:

 df[!grepl(' A ', df$team),]

  team conference points
4 B West 6
5 B West 6
6 C East 5

Oder wir könnten alle Zeilen aus dem Datenrahmen entfernen, die „West“ in der Konferenzspalte enthalten:

 df[!grepl(' West ', df$conference),]

  team conference points
1 A East 11
2 A East 8
3 A East 10
6 C East 5

Beispiel 2: Zeilen entfernen, die eine Zeichenfolge in einer Liste enthalten

Der folgende Code zeigt, wie alle Zeilen aus dem Datenrahmen gelöscht werden, die „A“ oder „B“ in der Teamspalte enthalten:

 df[!grepl(' A|B ', df$team),]

6 C East 5

Wir könnten auch einen Vektor aus Zeichenfolgen definieren und dann alle Zeilen im Datenrahmen löschen, die beliebige Zeichenfolgen des Vektors in der Teamspalte enthalten:

 #define vector of strings
remove <- c(' A ', ' B ')

#remove rows that contain any string in the vector in the team column
df[!grepl( paste (remove, collapse=' | '), df$team),]

6 C East 5

Beachten Sie, dass beide Methoden zum gleichen Ergebnis führen.

Zusätzliche Ressourcen

So löschen Sie Zeilen mit einigen oder allen NAs in R
So entfernen Sie doppelte Zeilen in R
So summieren Sie bestimmte Zeilen in R

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert