Чтобы удалить один или несколько столбцов по имени, когда имена столбцов известны (в отличие от определения во время выполнения), мне нравится 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документации:
Предупреждение:
Это удобная функция, предназначенная для интерактивного использования. Для программирования лучше использовать стандартные функции поднабора, такие как '[', и, в частности, нестандартная оценка аргумента 'подмножество' может иметь непредвиденные последствия.