Вы должны использовать либо индексирование, либо функцию subset
. Например:
R> df <- data.frame(x=1:5, y=2:6, z=3:7, u=4:8)
R> df
x y z u
1 1 2 3 4
2 2 3 4 5
3 3 4 5 6
4 4 5 6 7
5 5 6 7 8
Затем вы можете использовать функцию which
и -
в индексировании столбцов:
R> df[ , -which(names(df) %in% c("z","u"))]
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
Или, что гораздо проще, используйте кнопку select
аргумента функции subset
: вы можете затем использовать оператор -
непосредственно в векторе имен столбцов, и вы даже можете опустить кавычки вокруг имен!
R> subset(df, select=-c(z,u))
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
Обратите внимание, что вы также можете выбрать нужные столбцы вместо того, чтобы отбрасывать другие:
R> df[ , c("x","y")]
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6
R> subset(df, select=c(x,y))
x y
1 1 2
2 2 3
3 3 4
4 4 5
5 5 6