Как удалить столбцы по имени в r (с примерами)
Существует три распространенных способа удаления столбцов из фрейма данных в R по имени:
Метод 1: используйте базу R
#drop col2 and col4 from data frame
df_new <- subset(df, select = -c(col2, col4))
Способ 2: используйте dplyr
library (dplyr) #drop col2 and col4 from data frame df_new <- df %>% select(-c(col2, col4))
Способ 3: использовать data.table
library (data.table) #convert data frame to data table dt <- setDT(df) #drop col2 and col4 from data frame dt[, c(' col2 ', ' col4 '):=NULL]
В следующих примерах показано, как использовать каждый метод на практике со следующим фреймом данных в R:
#create data frame
df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'C', 'D'),
points=c(12, 15, 22, 29, 35, 24, 11, 24),
rebounds=c(10, 4, 4, 15, 14, 9, 12, 8),
assists=c(7, 7, 5, 8, 19, 14, 11, 10))
#view data frame
df
team points rebound assists
1 A 12 10 7
2 to 15 4 7
3 B 22 4 5
4 B 29 15 8
5 C 35 14 19
6 C 24 9 14
7 C 11 12 11
8 D 24 8 10
Пример 1. Удаление столбцов по имени с использованием базы R
Следующий код показывает, как удалить столбцы точек и вспомогательных столбцов из фрейма данных с помощью функции subset() в базе R:
#create new data frame by dropping points and assists columns
df_new <- subset(df, select = -c(points, assists))
#view new data frame
df_new
team rebounds
1 to 10
2 to 4
3 B 4
4 B 15
5 C 14
6 C 9
7 C 12
8 D 8
Обратите внимание, что столбцы «Очки» и «Ассисты» были удалены из нового фрейма данных.
Пример 2. Удаление столбцов по имени с помощью dplyr
Следующий код показывает, как удалить столбцы точек и вспомогательных столбцов из фрейма данных с помощью функции select() из пакета dplyr:
library (dplyr)
#create new data frame by dropping points and assists columns
df_new <- df %>% select(-c(points, assists))
#view new data frame
df_new
team rebounds
1 to 10
2 to 4
3 B 4
4 B 15
5 C 14
6 C 9
7 C 12
8 D 8
Обратите внимание, что столбцы «Очки» и «Ассисты» были удалены из нового фрейма данных.
Пример 3. Удаление столбцов по имени с помощью data.table
Следующий код показывает, как удалить столбцы точек и вспомогательных столбцов из фрейма данных, установив для обоих столбцов значение NULL с помощью пакета data.table:
library (data.table)
#convert data frame to data table
dt <- setDT(df)
#drop points and assists columns
dt[, c(' points ', ' assists '):=NULL]
#view updated data table
dt
team rebounds
1: At 10
2: A 4
3:B4
4:B15
5:C14
6: C 9
7:C12
8: D 8
Обратите внимание, что столбцы «Очки» и «Ассисты» были удалены из новой таблицы данных.
Примечание . Все три метода дают одинаковый результат, но методы dplyr и data.table будут работать быстрее при работе с чрезвычайно большими наборами данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как удалить столбцы со значениями NA в R
Как переставить столбцы в R
Как переименовать столбцы в R