मैं एक regex अभिव्यक्ति के साथ उनके नाम के आधार पर एकाधिक स्तंभों का चयन करना चाहते। मैं dplyr
पैकेज के पाइपिंग सिंटैक्स के साथ ऐसा करने की कोशिश कर रहा हूं। मैंने अन्य विषयों की जांच की, लेकिन केवल एक स्ट्रिंग के बारे में जवाब मिल गए।चयन कॉलम कई तार के आधार पर dplyr साथ शामिल()
:
mtcars %>% select(contains('m|ar'))
### data frame with 0 columns and 32 rows
क्या गलत है:
library(dplyr)
mtcars[grepl('m|ar', names(mtcars))]
### mpg am gear carb
### Mazda RX4 21.0 1 4 4
### Mazda RX4 Wag 21.0 1 4 4
हालांकि यह चयन/साथ काम नहीं करता जिस तरह से होता है?
धन्यवाद @akrun, मुझे अब बेवकूफ लगता है :-)। लेकिन एक प्रश्न, अभी भी: दिया गया है, हम क्यों() का उपयोग करना चाहिए, अगर मैचों() समान और बेहतर भी करता है? – agenis
@agenis वहाँ 'में कई विकल्प? उपयोग की लचीलेपन के लिए select' कर रहे हैं, मुझे लगता है कि। 'युक्त' एक स्ट्रिंग लेते हैं, लेकिन जब आप यह रेगेक्स प्रकार मिलान करते हैं, तो 'मैचों' का उपयोग करना बेहतर होता है ... – akrun
@agenis क्योंकि आप मिलान करना चाहते हैं "। और नियमित अभिव्यक्ति में इसे कैसे बचाना है, इस बारे में सोचना नहीं है – hadley