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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *