小编典典

按名称删除数据框列

all

我有许多要从数据框中删除的列。我知道我们可以使用以下方法单独删除它们:

df$x <- NULL

但我希望用更少的命令来做到这一点。

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

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

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

鉴于 R 的强大功能,我认为可能有比一一删除每一列更好的方法。


阅读 130

收藏
2022-02-28

共1个答案

小编典典

还有一个subset命令,如果你知道你想要哪些列,它会很有用:

df <- data.frame(a = 1:10, b = 2:11, c = 3:12)
df <- subset(df, select = c(a, c))

@hadley 发表评论后更新:要 删除 列 a、c,您可以执行以下操作:

df <- subset(df, select = -c(a, c))
2022-02-28