Как фильтровать таблицу данных в r (с примерами)


Вы можете использовать следующие методы для фильтрации строк из таблицы данных в R:

Способ 1. Фильтрация строк по одному условию

 dt[col1 == ' A ', ]

Способ 2. Фильтрация строк, содержащих значение в списке.

 dt[col1 %in% c(' A ', ' C '), ]

Способ 3. Фильтрация строк, для которых выполняется одно из нескольких условий.

 dt[col1 == ' A ' | col2 < 10 , ]

Способ 4. Отфильтруйте строки, в которых соблюдено несколько условий.

 dt[col1 == ' A ' & col2 < 10 , ]

В следующих примерах показано, как использовать каждый метод на практике со следующей таблицей данных в R:

 library (data.table)

#create data table
dt <- data. table (team=c('A', 'A', 'A', 'B', 'C'),
                 points=c(99, 90, 86, 88, 95),
                 assists=c(33, 28, 31, 39, 34),
                 rebounds=c(30, 28, 24, 24, 28))

#view data table
dt

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24
5: C 95 34 28

Пример 1. Фильтрация строк по условию

Следующий код показывает, как фильтровать только те строки, значение которых в столбце команды равно «A»:

 #filter for rows where team is A
dt[team == ' A ', ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24

Пример 2. Фильтрация строк, содержащих значение в списке

Следующий код показывает, как фильтровать только те строки, значение которых в столбце команды равно «A» или «C»:

 #filter for rows where team is A or C
dt[team %in% c(' A ', ' C '), ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: C 95 34 28

Связано: Как использовать оператор %in% в R (с примерами)

Пример 3. Фильтрация строк, для которых выполняется одно из нескольких условий

Следующий код показывает, как фильтровать только те строки, значение которых в столбце команды равно «A» или значение в столбце очков меньше 90:

 #filter for rows where team is A or points < 90
dt[team == ' A ' | points < 90 , ]

   team points assists rebounds
1: A 99 33 30
2: A 90 28 28
3: A 86 31 24
4: B 88 39 24

Примечание : | Оператор означает «ИЛИ» в R.

Пример 4. Фильтрация строк, в которых соблюдено несколько условий

Следующий код показывает, как фильтровать только те строки, где значение в столбце команды равно «A» , а значение в столбце очков меньше 90:

 #filter for rows where team is A and points < 90
dt[team == ' A ' & points < 90 , ]

   team points assists rebounds
1: A 86 31 24

Примечание . Оператор & означает «И» в R.

Дополнительные ресурсы

В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:

Как отфильтровать вектор в R
Как удалить строки с нулями в R
Как удалить пустые строки из фрейма данных в R

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *