按名称删除数据框架的列

我有一些列,我想从一个数据框架中删除。我知道我们可以用类似的方法单独删除它们。

df$x <- NULL

但我希望能用更少的命令来完成这个任务。

另外,我知道我可以像这样使用整数索引来删除列。

df <- df[ -c(1, 3:6, 12) ]

但我担心我的变量的相对位置可能会改变。

考虑到R的强大功能,我想可能有一个比逐一删除每一列更好的方法。

解决办法

你可以使用一个简单的名字列表。


DF 
评论(6)

还有 "子集 "命令,如果你知道你想要哪些列,就很有用。


df 
评论(10)

你可以像这样使用%in%

df[, !(colnames(df) %in% c("x","bar","foo"))]
评论(3)