So löschen sie zeilen mit dplyr (mit beispielen)


Sie können die folgende grundlegende Syntax verwenden, um mit dplyr Zeilen aus einem Datenrahmen in R zu entfernen:

1. Löschen Sie jede Zeile mit NA

 df %>%
  n / A. omit ()

2. Löschen Sie jede Zeile mit NA in einer bestimmten Spalte

 df %>%
filter( ! is. na (column_name))

3. Entfernen Sie Duplikate

 df %>%
  distinct()

4. Zeilen nach Indexposition löschen

 df %>%
filter( ! row_number() %in% c(1, 2, 4))

5. Zeilen basierend auf der Bedingung löschen

 df %>%
  filter(column1 == ' A ' | column2 > 8)

Die folgenden Beispiele zeigen, wie jede dieser Methoden in der Praxis mit dem folgenden Datenrahmen verwendet wird:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C'),
                 points=c(4, NA, 7, 5, 9, 9),
                 assists=c(1, 3, 5, NA, 2, 2))

#view data frame
df

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2
6 C 9 2

Beispiel 1: Löschen Sie eine beliebige Zeile mit NA

Der folgende Code zeigt, wie alle Zeilen mit NA-Werten aus dem Datenrahmen entfernt werden:

 #remove any row with NA
df %>%
  n / A. omit ()

  team points assists
1 to 4 1
3 B 7 5
5 C 9 2
6 C 9 2

Beispiel 2: Löschen Sie jede Zeile mit NA in bestimmten Spalten

Der folgende Code zeigt, wie jede Zeile gelöscht wird, die NA-Werte in einer bestimmten Spalte enthält:

 #remove any row with NA in 'points' column:
df %>%
  filter( ! is. na (dots))

  team points assists
1 to 4 1
2 B 7 5
3 B 5 NA
4 C 9 2
5 C 9 2

Beispiel 3: Doppelte Zeilen entfernen

Der folgende Code zeigt, wie doppelte Zeilen entfernt werden:

 #remove duplicate rows
df %>%
  distinct()

  team points assists
1 to 4 1
2 A NA 3
3 B 7 5
4 B 5 NA
5 C 9 2

Beispiel 4: Zeilen nach Indexposition löschen

Der folgende Code zeigt, wie Zeilen basierend auf der Indexposition gelöscht werden:

 #remove rows 1, 2, and 4
df %>%
filter( ! row_number() %in% c(1, 2, 4))

  team points assists
1 B 7 5
2 C 9 2
3 C 9 2

Beispiel 5: Zeilen basierend auf der Bedingung löschen

Der folgende Code zeigt, wie Zeilen basierend auf bestimmten Bedingungen gelöscht werden:

 #only keep rows where team is equal to 'A' or points is greater than 8
df %>%
  filter(column1 == ' A ' | column2 > 8)

  team points assists
1 to 4 1
2 A NA 3
3 C 9 2
4 C 9 2

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere allgemeine Funktionen in dplyr ausführen:

So wählen Sie Spalten nach Index mit dplyr aus
So sortieren Sie Variablen mit dplyr nach Gruppen
So ersetzen Sie NA durch Zero in dplyr

Einen Kommentar hinzufügen

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