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


Часто вам может понадобиться удалить один или несколько столбцов из фрейма данных в R. К счастью, это легко сделать с помощью функции select() из пакета dplyr .

library(dplyr)

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

#create data frame
df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'),
 position = c('G', 'F', 'F', 'G', 'G'),
 points = c(12, 15, 19, 22, 32),
 rebounds = c(5, 7, 7, 12, 11))

#view data frame
df

 player position points rebounds
1 a G 12 5
2 b F 15 7
3 c F 19 7
4 d G 22 12
5 e G 32 11

Пример 1: удаление столбцов по имени

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

#remove column named 'points'
df %>% select(-points)

 player position rebounds
1 a G 5
2 b F 7
3 c F 7
4 d G 12
5 e G 11

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

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

#remove columns named 'points' or 'rebounds'
df %>% select(-one_of('points', 'rebounds')) 

 player position
1 a G
2 b F
3 c F
4 d G
5 e G

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

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

#remove columns in range from 'position' to 'rebounds'
df %>% select(-(position:rebounds)) 

 player
1 a
2 b
3 c
4 d
5 e

Пример 4. Удаление столбцов, содержащих фразу

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

#remove columns that contain the word 'points'
df %>% select(-contains('points')) 

 player position rebounds
1 a G 5
2 b F 7
3 c F 7
4 d G 12
5 e G 11

Пример 5. Удаление столбцов, начинающихся с определенных букв

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

#remove columns that start with 'po'
df %>% select(-starts_with('po')) 

 player rebounds
1 a 5
2 b 7
3 c 7
4 d 12
5 e 11

Пример 6. Удаление столбцов, заканчивающихся определенными буквами

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

#remove columns that end with 's'
df %>% select(-ends_with('s')) 

 player position
1 a G
2 b F
3 c F
4 d G
5 e G

Пример 7: удаление столбцов по положению

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

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

 position points
1 G 12
2 F 15
3 F 19
4 G 22
5 G 32

Примечание.Полную документацию по функции select() можно найти здесь .

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

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

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

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.