Odp.: jak filtrować wiersze, w których kolumna znajduje się pomiędzy dwiema wartościami
Możesz użyć następujących metod, aby odfiltrować ramkę danych w R, gdzie określona kolumna znajduje się pomiędzy dwiema wartościami:
Metoda 1: Użyj podstawy R
df_new <- subset(df, points %in% 100 : 120 )
Metoda 2: użyj dplyr
library (dplyr) df_new <- df %>% filter(between(points, 100 , 120 ))
Obydwa przykłady filtrują ramkę danych tak, aby zawierała tylko wiersze, których wartość w kolumnie Punkty mieści się w przedziale od 100 do 120 .
Poniższe przykłady pokazują, jak w praktyce wykorzystać każdą metodę z następującą ramką danych w R:
#create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
points=c(104, 110, 134, 125, 114, 124),
assists=c(22, 30, 35, 35, 20, 27))
#view data frame
df
team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27
Przykład 1: Filtruj, gdy kolumna znajduje się pomiędzy dwiema wartościami, używając Base R
Możemy użyć następującej składni z funkcją R base subset() , aby przefiltrować ramkę danych tak, aby zawierała tylko wiersze, których wartość w kolumnie punktów mieści się w przedziale od 100 do 120:
#filter for rows where value in points column is between 100 and 120 df_new <- subset(df, points %in% 100 : 120 ) #view updated data frame df_new team points assists 1 Mavs 104 22 2 Pacers 110 30 3 Nets 114 20
Należy pamiętać, że zachowywane są tylko wiersze, których wartość w kolumnie punktów mieści się w przedziale od 100 do 120.
Wszystkie pozostałe wiersze, których wartość wykracza poza ten zakres, zostaną usunięte.
Przykład 2: Filtruj, gdy kolumna znajduje się pomiędzy dwiema wartościami, używając dplyr
Możemy użyć następującej składni z funkcjami filter() i Between() pakietu dplyr w R, aby przefiltrować ramkę danych tak, aby zawierała tylko wiersze, których wartość w kolumnie punktów mieści się w przedziale od 100 do 120:
library (dplyr) #filter for rows where value in points column is between 100 and 120 df_new <- df %>% filter(between(points, 100 , 120 )) #view updated data frame df_new team points assists 1 Mavs 104 22 2 Pacers 110 30 3 Nets 114 20
Należy pamiętać, że zachowywane są tylko wiersze, których wartość w kolumnie punktów mieści się w przedziale od 100 do 120.
Należy również pamiętać, że ta metoda daje taki sam wynik jak podstawowa metoda R.
Uwaga : Pełną dokumentację funkcji filtrującej w dplyr można znaleźć tutaj .
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe operacje w języku R:
Jak używać %in% do filtrowania wierszy z wartością na liście w R
Jak filtrować według wielu warunków za pomocą dplyr
Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr