grep () с несколькими именами столбцов во фрейме данных - PullRequest
0 голосов
/ 01 июня 2018

У меня есть data.frame с 5786 столбцами.Я хотел бы найти местоположения столбцов, используя имена заголовков, не просматривая colnames() из data.frame.

. Я думал, что использование grep() будет работать, но я нахожу, что дать ему несколько шаблонов водин раз не джайвДо сих пор я думал о чем-то вроде этого, которое не работает:

    grep(c("NameA", "NameB", "NameC"), colnames(df))

Есть ли более простой способ сделать это?Может быть, с помощью функции which()?

1 Ответ

0 голосов
/ 01 июня 2018

Как предполагает @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
...