Как выбрать столбцы, содержащие определенную строку в r


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

Способ 1: выберите столбцы, содержащие определенную строку

 df %>%
  select(matches(" string1 "))

Способ 2. Выберите столбцы, содержащие одну из нескольких строк.

 df %>%
  select(matches(" string1|string2|string3 "))

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

 #create data frame
df <- data. frame (mavs=c(12, 10, 14, 19, 22, 25, 29),
                 cavs=c(22, 41, 14, 15, 15, 19, 22),
                 hornets=c(8, 8, 12, 14, 15, 13, 12),
                 spurs=c(10, 12, 12, 16, 22, 28, 30),
                 nets=c(9, 7, 10, 22, 28, 23, 25))

#view data frame
df

  mavs cavs hornets spurs nets
1 12 22 8 10 9
2 10 41 8 12 7
3 14 14 12 12 10
4 19 15 14 16 22
5 22 15 15 22 28
6 25 19 13 28 23
7 29 22 12 30 25

Пример 1. Выбор столбцов, содержащих определенную строку

Следующий код показывает, как использовать функцию match() для выбора только тех столбцов, которые содержат строку «avs» где-то в своем имени:

 library (dplyr)

#select all columns that contain "avs" in the name
df %>%
  select(matches(" avs "))

  mavs cavs
1 12 22
2 10 41
3 14 14
4 19 15
5 22 15
6 25 19
7 29 22

Возвращаются только столбцы с именем «avs».

В этом случае возвращаются только столбцы «mavs» и «cavs».

Пример 2. Выберите столбцы, содержащие одну из нескольких строк.

Следующий код показывает, как использовать функцию match() для выбора только столбцов, содержащих где-то в имени «avs» или «ets»:

 library (dplyr)

#select all columns that contain "avs" or "ets" in the name
df %>%
  select(matches(" avs|ets "))

  mavs cavs hornets nets
1 12 22 8 9
2 10 41 8 7
3 14 14 12 10
4 19 15 14 22
5 22 15 15 28
6 25 19 13 23
7 29 22 12 25

Возвращаются только столбцы с именем «avs» или «ets».

Обратите внимание, что вертикальная черта ( | ) — это оператор « ИЛИ » в R.

Не стесняйтесь объединять столько операторов «ИЛИ», сколько хотите, для выбора столбцов, содержащих одну из множества разных строк.

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

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

Как выбрать столбцы по имени с помощью dplyr
Как выбрать столбцы по индексу с помощью dplyr
Как использовать select_if с несколькими условиями в dplyr

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

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