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


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

#select columns in specific index positions
df %>%
 select(1, 4, 5)

#exclude columns in specific index positions
df %>%
 select(-c(1,2))

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

#create data frame
df <- data.frame(team=c('A', 'B', 'C', 'D', 'E'),
 points=c(99, 90, 86, 88, 95),
 assists=c(33, 28, 31, 39, 34),
 rebounds=c(30, 28, 24, 24, 28),
 blocks=c(14, 19, 22, 18, 15))

#view data frame
df

 team points assists rebounds blocks
1 A 99 33 30 14
2 B 90 28 28 19
3 C 86 31 24 22
4 D 88 39 24 18
5 E 95 34 28 15

Пример 1: выбор столбцов в определенных позициях индекса

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

library(dplyr)

#select columns in position 1, 4, and 5
df %>%
 select(1, 4, 5)

 team rebounds blocks
1 A 30 14
2 B 28 19
3 C 24 22
4 D 24 18
5 E 28 15

Пример 2: выбор столбцов в диапазоне

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

library(dplyr)

#select columns in position 2 through 4
df %>%
 select(2:4)

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

Пример 3. Исключение определенных столбцов

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

library(dplyr)

#select all columns *except* those in position 1 and 2
df %>%
 select(-c(1, 2))

 assists rebounds blocks
1 33 30 14
2 28 28 19
3 31 24 22
4 39 24 18
5 34 28 15

Обратите внимание, что первый и второй столбцы исключены.

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

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

Как выбрать столбцы по имени с помощью dplyr
Как отфильтровать строки, содержащие определенную строку, с помощью dplyr
Как выбрать первую строку по группе с помощью dplyr
Как заменить NA на ноль в dplyr