Jak używać funkcjiselect_if z wieloma warunkami w dplyr


Możesz użyć następującej podstawowej składni z funkcjąselect_if() pakietu dplyr , aby wybrać kolumny w ramce danych, która spełnia jeden z kilku warunków:

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

Poniższe przykłady pokazują, jak używać tej składni w praktyce.

Przykład 1: Użyj funkcjiselect_if() z typami klas

Poniższy kod pokazuje, jak używać funkcjiselect_if() do wybierania kolumn w ramce danych, które mają klasę znakową lub numeryczną :

 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

Należy zauważyć, że zwracana jest jednoznakowa kolumna ( zespół ) i dwie kolumny liczbowe ( punkty_za i punkty_przeciwko ) są zwracane, natomiast kolumna czynników ( konferencja ) nie jest zwracana.

Przykład 2: Użyj funkcjiselect_if() z typami klas i nazwami kolumn

Poniższy kod pokazuje, jak używać funkcjiselect_if() do wybierania kolumn w ramce danych, które mają typ klasy współczynników lub nazwę kolumny point_for :

 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

Należy zwrócić uwagę, że zwracana jest kolumna jednoczynnikowa i kolumna oznaczona point_for .

Uwaga : | symbol to logiczny operator „OR” w R. Możesz użyć dowolnej liczby | symbole, ponieważ chcesz wybrać kolumny przy użyciu więcej niż dwóch warunków.

Dodatkowe zasoby

Poniższe samouczki wyjaśniają, jak korzystać z innych popularnych funkcji dplyr:

Jak używać funkcjicross() w dplyr
Jak korzystać z funkcji relocate() w dplyr
Jak korzystać z funkcji plasterka() w dplyr

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *