首先,有一个数据框,比如df = data.frame(a = c("one","two"),b = c(1,2),c = c(3,4))
,我想要删除一些没用的列,我知道我可以使用df[-1]
,如果我不使用列{{但是,如果我重新排列列顺序,我必须知道a
的索引号为a
或1
或其他数字,我该怎么办?
提前感谢任何帮助〜
答案 0 :(得分:2)
使用列本身的name
而不是其索引号。有几种方法可以做到这一点,但我更喜欢setdiff
之类的-(which(...))
。
df[, setdiff(names(df), "a")]
# b c
# 1 1 3
# 2 2 4
对于“互动使用”,还有subset
:
subset(df, select=-a)
# b c
# 1 1 3
# 2 2 4
如上所述,对您的问题“如何获取索引编号...”的最直接答案,which
为您做到了这一点:
which(names(df) == "a")
# [1] 1