我想基于正则表达式选择多列,采用 dplyr
包的管道语法实现。我查看了其他话题,但只找到了有关单个字符串的答案。
使用基本 R:
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
然而,它不能与select/contains方法一起使用:
mtcars %>% select(contains('m|ar'))
### data frame with 0 columns and 32 rows
有什么问题吗?
paste
函数,即paste(yourvec, collapse="|")
,并将其用于matches
函数。 - akrun