Чтобы удалить один или несколько столбцов по имени, когда известны имена столбцов (в отличие от определения во время выполнения), мне нравится синтаксис subset()
. Например. для фрейма данных
df <- data.frame(a=1:3, d=2:4, c=3:5, b=4:6)
чтобы удалить только тот столбец a
, который вы могли бы сделать
Data <- subset( Data, select = -a )
и удалить столбцы b
и d
, которые вы можете сделать
Data <- subset( Data, select = -c(d, b ) )
Вы можете удалить все столбцы между d
и b
с помощью:
Data <- subset( Data, select = -c( d : b )
Как я уже говорил выше, этот синтаксис работает только тогда, когда известны имена столбцов. Это не будет работать, если, скажем, имена столбцов определены программно (то есть назначены переменной). Я воспроизведу это предупреждение из ?subset
документации:
Внимание:
Это удобная функция, предназначенная для интерактивного использования.
Для программирования лучше использовать стандартное подмножество
такие функции, как '[', и, в частности, нестандартная оценка
аргумента «подмножество» может иметь непредвиденные последствия.