我有一个data.frame
,有5786列。我想使用标题名称查找列位置,而不搜索colnames()
的{{1}}。
我认为使用data.frame
会起作用,但我发现同时给它多种模式并不适用。到目前为止,我想到了类似的东西,它不起作用:
grep()
有更简单的方法吗?也许使用 grep(c("NameA", "NameB", "NameC"), colnames(df))
函数?
答案 0 :(得分:0)
根据@joran
的建议,可以使用match
完成答案。应match
条件筛选!is.na()
的结果。
# Toy data frame
df <- data.frame(NameA = 1:5,
NameB = LETTERS[1:5],
NameC = letters[1:5],
NameD = letters[6:10])
# Find matched columns
which(!is.na(match(colnames(df), c("NameD", "NameB", "NameA"))))
#[1] 1 2 4