बस एक और संभावना जोड़ने के लिए:
आप आमतौर पर उपयोग कर सकते हैं grepऔर यह नियमित अभिव्यक्तियों का उपयोग करके अधिक परिष्कारित तरीके से इस तरह के काम करने के लिए डिकेडेंट्स (यानी, grepl) है।
आपके उदाहरण पर आपको कॉलम इंडेक्स मिल सकता है:
grep("^bar$", colnames(x)) या grep("^bar$", names(x))
^और $शुरुआत और एक स्ट्रिंग के अंत के लिए मेटा वर्ण, क्रमशः रहे हैं।
जाँच करें? Grep और विशेष रूप से; अधिक infos के लिए regex (यानी, आप केवल आंशिक नाम / मिलान ले सकते हैं, या वापसी मान स्ट्रिंग स्वयं या एक तार्किक वेक्टर है, ...)
मेरे लिए, grepअधिक आर-ईश है।
मजबूती से संबंधित हैडली विकम द्वारा हालिया पैकेज है: स्ट्रिंग, "आधुनिक, लगातार स्ट्रिंग प्रसंस्करण" के लिए एक पैकेज जिसमें फ़ंक्शन जैसे ग्रीज़ शामिल हैं। उन्होंने हाल ही में आर जर्नल में इस पर एक पेपर प्रकाशित किया ।
स्टैकओवरफ़्लो पर एक समान मुद्दे पर मेरा जवाब भी देखें।
match("bar",names(x))यह भी काम करता है, हालांकिmatchपहले तर्क एक वेक्टर है जब बहुत अधिक उपयोगी है।