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