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


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

#select columns by name
df[c('col1', 'col2', 'col4')]

#select columns by index
df[c(1, 2, 4)]

В качестве альтернативы вы можете использовать функцию select() из пакета dplyr :

library(dplyr)

#select columns by name
df %>%
 select(col1, col2, col4)

#select columns by index
df %>%
 select(1, 2, 4)

Для очень больших наборов данных рекомендуется использовать метод dplyr, так как функция select() работает быстрее, чем функции в базе R.

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

#create data frame
df <- data.frame(a=c(1, 3, 4, 6, 8, 9),
 b=c(7, 8, 8, 7, 13, 16),
 c=c(11, 13, 13, 18, 19, 22),
 d=c(12, 16, 18, 22, 29, 38))

#view data frame
df

 a b c d
1 1 7 11 12
2 3 8 13 16
3 4 8 13 18
4 6 7 18 22
5 8 13 19 29
6 9 16 22 38

Пример 1. Выбор определенных столбцов с использованием базы R (по имени)

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

#select columns by name
df[c('a', 'b', 'd')]

 a b d
1 1 7 12
2 3 8 16
3 4 8 18
4 6 7 22
5 8 13 29
6 9 16 38

Пример 2. Выбор определенных столбцов с использованием базы R (по индексу)

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

#select columns by index
df[c(1, 2, 4)]

 a b d
1 1 7 12
2 3 8 16
3 4 8 18
4 6 7 22
5 8 13 29
6 9 16 38

Пример 3: выбор определенных столбцов с помощью dplyr (по имени)

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

library(dplyr)

#select columns by name
df %>%
 select(a, b, d)

 a b d
1 1 7 12
2 3 8 16
3 4 8 18
4 6 7 22
5 8 13 29
6 9 16 38

Пример 4. Выбор определенных столбцов с помощью dplyr (по индексу)

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

library(dplyr)

#select columns by index
df %>%
 select(1, 2, 4)

 a b d
1 1 7 12
2 3 8 16
3 4 8 18
4 6 7 22
5 8 13 29
6 9 16 38

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

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