So verwenden sie select_if mit mehreren bedingungen in dplyr


Sie können die folgende grundlegende Syntax mit der Funktion select_if() des dplyr- Pakets verwenden, um Spalten in einem Datenrahmen auszuwählen, der eine von mehreren Bedingungen erfüllt:

 df %>% select_if( function (x) condition1 | condition2)

Die folgenden Beispiele zeigen, wie Sie diese Syntax in der Praxis anwenden können.

Beispiel 1: Verwenden Sie select_if() mit Klassentypen

Der folgende Code zeigt, wie Sie mit der Funktion select_if() Spalten in einem Datenrahmen auswählen, die einen Zeichen- oder numerischen Klassentyp haben:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 conference=as. factor (c('W', 'W', 'W', 'E', 'E')),
                 points_for=c(99, 90, 86, 88, 95),
                 points_against=c(91, 80, 88, 86, 93))

#select all character and numeric columns
df %>% select_if( function (x) is. character (x) | is. numeric (x))

  team points_for points_against
1 A 99 91
2 B 90 80
3 C 86 88
4 D 88 86
5 E 95 93

Beachten Sie, dass die Ein-Zeichen-Spalte ( team ) und die beiden numerischen Spalten ( points_for und points_against ) zurückgegeben werden, während die Faktorenspalte ( conference ) nicht zurückgegeben wird.

Beispiel 2: Verwenden Sie select_if() mit Klassentypen und Spaltennamen

Der folgende Code zeigt, wie Sie mit der Funktion „select_if()“ Spalten in einem Datenrahmen auswählen, die über einen Faktorklassentyp oder den Spaltennamen „points_for“ verfügen:

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 conference=as. factor (c('W', 'W', 'W', 'E', 'E')),
                 points_for=c(99, 90, 86, 88, 95),
                 points_against=c(91, 80, 88, 86, 93))

#select all factor columns and 'points_for' column
df %>% select_if( function (x) is. factor (x) | all(x == .$points_for))

  conference points_for
1 W 99
2W 90
3 W 86
4 E 88
5 E 95

Beachten Sie, dass die Ein-Faktor-Spalte und die Spalte mit der Bezeichnung „points_for“ zurückgegeben werden.

Hinweis : Die | symbol ist der logische „ODER“-Operator in R. Sie können beliebig viele | verwenden Symbole, weil Sie Spalten anhand von mehr als zwei Bedingungen auswählen möchten.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere allgemeine Funktionen in dplyr verwenden:

So verwenden Sie die Funktion across() in dplyr
So verwenden Sie die Funktion relocate() in dplyr
So verwenden Sie die Funktion „slice()“ in dplyr

Einen Kommentar hinzufügen

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