เพียงเพื่อเพิ่มความเป็นไปได้อื่น ๆ :
โดยปกติคุณสามารถใช้grepและมันเป็น decedents (เช่น grepl เพื่อทำงานประเภทนี้ในลักษณะที่ซับซ้อนมากขึ้นโดยใช้นิพจน์ทั่วไป
ในตัวอย่างของคุณคุณสามารถรับดัชนีคอลัมน์ด้วย:
grep("^bar$", colnames(x)) หรือ grep("^bar$", names(x))
^และ$ตัวละครเมตาสำหรับจุดเริ่มต้นและจุดสิ้นสุดของสตริงตามลำดับ
ตรวจสอบ? grep และโดยเฉพาะอย่างยิ่ง? regex สำหรับข่าวสารเพิ่มเติม (เช่นคุณสามารถคว้าชื่อ / การแข่งขันบางส่วนเท่านั้นหรือค่าตอบแทนเป็นสตริงตัวเองหรือเวกเตอร์ตรรกะ, ... )
สำหรับฉันgrepR-ish มากขึ้น
ที่เกี่ยวข้องอย่างยิ่งคือแพ็คเกจล่าสุดโดย Hadley Wickhem: stringr , แพ็คเกจสำหรับ "การประมวลผลสตริงที่ทันสมัยและสอดคล้องกัน" รวมถึงฟังก์ชัน grep like เขาเพิ่งตีพิมพ์บทความลงใน R Journal
ดูคำตอบของฉันใน stackoverflow ในปัญหาที่เหมือนกัน
match("bar",names(x))ใช้งานได้แม้ว่าmatchจะมีประโยชน์มากกว่าเมื่ออาร์กิวเมนต์แรกเป็นเวกเตอร์