A: як відфільтрувати рядки, у яких стовпець знаходиться між двома значеннями
Ви можете використовувати такі методи для фільтрації кадру даних у R, де певний стовпець знаходиться між двома значеннями:
Спосіб 1: Використовуйте Base R
df_new <- subset(df, points %in% 100 : 120 )
Спосіб 2: використовуйте dplyr
library (dplyr) df_new <- df %>% filter(between(points, 100 , 120 ))
Обидва ці приклади фільтрують кадр даних, щоб він містив лише рядки, значення яких у стовпці Points знаходиться між 100 і 120 .
У наведених нижче прикладах показано, як використовувати кожен метод на практиці з таким кадром даних у 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
Приклад 1: фільтр, де стовпець знаходиться між двома значеннями, використовуючи Base R
Ми можемо використати наступний синтаксис із функцією R base subset() , щоб відфільтрувати фрейм даних, щоб він містив лише рядки, значення яких у стовпці точок становить від 100 до 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
Зауважте, що зберігаються лише рядки, значення яких у стовпці балів становить від 100 до 120.
Усі інші рядки, значення яких виходять за межі цього діапазону, видаляються.
Приклад 2: фільтр, де стовпець знаходиться між двома значеннями, за допомогою dplyr
Ми можемо використати такий синтаксис із функціями filter() і between() пакета dplyr у R, щоб відфільтрувати фрейм даних, щоб він містив лише рядки, значення яких у стовпці точок становить від 100 до 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
Зауважте, що зберігаються лише рядки, значення яких у стовпці балів становить від 100 до 120.
Також зауважте, що цей метод дає той самий результат, що й базовий метод R.
Примітка : Ви можете знайти повну документацію функції фільтра в dplyr тут .
Додаткові ресурси
У наступних посібниках пояснюється, як виконувати інші типові операції в R:
Як використовувати %in% для фільтрації рядків із значенням у списку в R
Як фільтрувати за кількома умовами за допомогою dplyr
Як фільтрувати рядки, що містять певний рядок, за допомогою dplyr