Часто вам может понадобиться удалить один или несколько столбцов из фрейма данных в 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