So filtern sie eine data.table in r (mit beispielen)


Sie können die folgenden Methoden verwenden, um Zeilen aus einer data.table in R zu filtern:

Methode 1: Zeilen basierend auf einer einzelnen Bedingung filtern

 dt[col1 == ' A ', ]

Methode 2: Zeilen filtern, die einen Wert in der Liste enthalten

 dt[col1 %in% c(' A ', ' C '), ]

Methode 3: Zeilen filtern, für die eine von mehreren Bedingungen erfüllt ist

 dt[col1 == ' A ' | col2 < 10 , ]

Methode 4: Zeilen filtern, in denen mehrere Bedingungen erfüllt sind

 dt[col1 == ' A ' & col2 < 10 , ]

Die folgenden Beispiele zeigen, wie jede Methode in der Praxis mit der folgenden data.table in R verwendet wird:

 library (data.table)

#create data table
dt <- data. table (team=c('A', 'A', 'A', 'B', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data table
dt

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24
5: C 95 34 28

Beispiel 1: Zeilen basierend auf einer Bedingung filtern

Der folgende Code zeigt, wie nur Zeilen gefiltert werden, deren Wert in der Teamspalte gleich „A“ ist:

 #filter for rows where team is A
dt[team == ' A ', ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24

Beispiel 2: Zeilen filtern, die einen Wert in der Liste enthalten

Der folgende Code zeigt, wie nur Zeilen gefiltert werden, deren Wert in der Teamspalte „A“ oder „C“ entspricht:

 #filter for rows where team is A or C
dt[team %in% c(' A ', ' C '), ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: C 95 34 28

Verwandte Themen: So verwenden Sie den %in%-Operator in R (mit Beispielen)

Beispiel 3: Zeilen filtern, für die eine von mehreren Bedingungen erfüllt ist

Der folgende Code zeigt, wie nur Zeilen gefiltert werden, deren Wert in der Teamspalte gleich „A“ ist oder deren Wert in der Punktespalte kleiner als 90 ist:

 #filter for rows where team is A or points < 90
dt[team == ' A ' | points < 90 , ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24

Hinweis : Die | Der Operator bedeutet „ODER“ in R.

Beispiel 4: Zeilen filtern, in denen mehrere Bedingungen erfüllt sind

Der folgende Code zeigt, wie nur Zeilen gefiltert werden, in denen der Wert in der Teamspalte gleich „A“ und der Wert in der Punktespalte kleiner als 90 ist:

 #filter for rows where team is A and points < 90
dt[team == ' A ' & points < 90 , ]

   team points assists rebounds
1: A 86 31 24

Hinweis : Der & -Operator bedeutet „AND“ in R.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in R ausführen:

So filtern Sie einen Vektor in R
So löschen Sie Zeilen mit Nullen in R
So entfernen Sie Leerzeilen aus dem Datenrahmen in R

Einen Kommentar hinzufügen

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