sólo para agregar otra posibilidad:
Generalmente, usted puede usar grep
y la de los descendientes (es decir, grepl, para hacer este tipo de trabajos en una más sophisiticated forma, el uso de expresiones regulares.
En el ejemplo, podría obtener el índice de columna con:
grep("^bar$", colnames(x))
o grep("^bar$", names(x))
El ^
y $
son de meta caracteres para el comienzo y final de una cadena, respectivamente.
Cheque ?grep y especialmente ?regex para más información (es decir, se puede tomar sólo parcial de los nombres o partidos, o el valor de retorno es la propia cadena o una lógica de vectores,...)
Para mí, grep
es más R-ish.
Fuertemente relacionado es el reciente paquete de Hadley Wickhem: stringr, Un paquete para el "moderno, consistente cadena de procesamiento", incluyendo grep como funciones. Recientemente publicó un artículo sobre él en el I Diario.
Véase también mi respuesta en stackoverflow en un idéntico problema.