A: как фильтровать строки, в которых столбец находится между двумя значениями
Вы можете использовать следующие методы для фильтрации фрейма данных в R, где определенный столбец находится между двумя значениями:
Метод 1: используйте базу 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. Фильтрация столбца между двумя значениями с использованием базы 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