我想要使用fy
选择以giving
开头并以dplyr
结尾的所有列。我尝试了以下代码
df %>% select(start_with('fy') & ends_with('giving')
但它不起作用。
p / s:实际上我可以使用以下块来破解它
df %>% select(starts_with('fy')) %>% select(ends_with('giving'))
但我仍然希望将所有这两个条件放在一个地方
答案 0 :(得分:7)
您可以尝试使用matches
代替正则表达式:
df %>% select(matches("^fy.*giving$"))
应该做的。
使用iris
的虚拟示例:
iris %>% select(matches("^Pet.*gth$")) %>% colnames
[1] "Petal.Length"
答案 1 :(得分:7)
你可以用这个:
df %>% select(intersect(starts_with('fy') , ends_with('giving')))
添加了与@Vincent Bonhomme相同的例子:
iris %>% select(intersect(starts_with("Pet"), ends_with("gth"))) %>% colnames
#[1] "Petal.Length"