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


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

#remove columns var1 and var3
new_df <- subset(df, select = - c(var1, var3))

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

#create data frame
df <- data.frame(var1=c(1, 3, 3, 4, 5),
 var2=c(7, 7, 8, 3, 2),
 var3=c(3, 3, 6, 10, 12),
 var4=c(14, 16, 22, 19, 18))

#view data frame
df

 var1 var2 var3 var4
1 1 7 3 14
2 3 7 3 16
3 3 8 6 22
4 4 3 10 19
5 5 2 12 18

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

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

#remove columns var1 and var3
new_df <- subset(df, select = - c(var1, var3))

#view updated data frame
new_df

 var2 var4
1 7 14
2 7 16
3 8 22
4 3 19
5 2 18

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

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

#remove first and fourth columns
new_df <- subset(df, select = - c(1, 4))

#view updated data frame
new_df

 var2 var3
1 7 3
2 7 3
3 8 6
4 3 10
5 2 12

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

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

#define list of columns to remove
remove_cols <- c('var1', 'var4')

#remove columns in list
new_df = subset(df, select = ! (names(df) %in% remove_cols)) 

#view updated data frame
new_df

 var2 var3
1 7 3
2 7 3
3 8 6
4 3 10
5 2 12

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

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

#remove columns in range of 1 to 3
new_df = subset(df, select = - c(1:3)) 

#view updated data frame
new_df

 var4
1 14
2 16
3 22
4 19
5 18

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

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