просто чтобы добавить еще одну возможность:
обычно вы можете использовать grepи это - потомки (то есть, grepl), чтобы выполнять такие работы более изощренным способом с использованием регулярных выражений.
На вашем примере вы можете получить индекс столбца с:
grep("^bar$", colnames(x)) или grep("^bar$", names(x))
^И $являются мета - символы для начала и конца строки, соответственно.
Проверьте? Grep и особенно? Regex для большего количества информации (то есть, вы можете получить только частичные имена / совпадения, или возвращаемое значение - сама строка или логический вектор, ...)
Для меня grepэто больше R-иш.
Сильно связан недавний пакет от Hadley Wickhem: stringr , пакет для «современной последовательной обработки строк», включая функции, подобные grep. Недавно он опубликовал статью об этом в R Journal.
Смотрите также мой ответ на stackoverflow по аналогичной проблеме.
match("bar",names(x))также работает, хотяmatchгораздо полезнее, когда первый аргумент также является вектором.