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


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

Проще всего это сделать с помощью следующего синтаксиса:

df[ , c('column_name1', 'column_name2')] <- list(NULL)

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

#create data frame
df <- data.frame(var1=c(1, 3, 2, 9, 5),
 var2=c(7, 7, 8, 3, 2),
 var3=c(3, 3, 6, 6, 8),
 var4=c(1, 1, 2, 8, 7))

#delete columns 2 and 3 from data frame
df[ , c('var2', 'var3')] <- list(NULL)

#view data frame
df

 var1 var4
1 1 1
2 3 1
3 2 2
4 9 8
5 5 7

Мы также можем удалить столбцы в соответствии с их индексом:

#create data frame
df <- data.frame(var1=c(1, 3, 2, 9, 5),
 var2=c(7, 7, 8, 3, 2),
 var3=c(3, 3, 6, 6, 8),
 var4=c(1, 1, 2, 8, 7))

#delete columns in position 2 and 3
df[ , c(2, 3)] <- list(NULL)

#view data frame
df

 var1 var4
1 1 1
2 3 1
3 2 2
4 9 8
5 5 7

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

#create data frame
df <- data.frame(var1=c(1, 3, 2, 9, 5),
 var2=c(7, 7, 8, 3, 2),
 var3=c(3, 3, 6, 6, 8),
 var4=c(1, 1, 2, 8, 7))

#delete columns in range 1 through 3
df[ , 1:3] <- list(NULL)

#view data frame
df

 var4
1 1
2 1
3 2
4 8
5 7

Как правило, рекомендуется удалять столбцы по их имени, а не по их положению просто потому, что если вы добавите или измените порядок столбцов, их положение может измениться.

Используя имена столбцов, вы гарантируете, что удаляете правильные столбцы независимо от их положения.

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

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