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