[英]How can I use regular expression to select the columns of data frame in r?
I have the following data frame.我有以下数据框。
D <- data.frame(A123.case.vs.B123.Cntl._FC = 1:4, B123.case.vs.B123.Cntl._FC = 0:3, A123.case.vs.D123.Cntl._FC= 2:5, FC = 1:4, A123.case= 0:3, B123.cntrl = 0:3)
I would like to select the first 3 columns using regular expression.我想 select 使用正则表达式的前 3 列。
here is what I am trying but it does not work.这是我正在尝试的,但它不起作用。
D %>% select(contains("case.vs.[a-z]*[0-9].cntl"))
Do you have any idea where is my problem?你知道我的问题在哪里吗?
Thanks谢谢
The following regular expression does what the question asks for.以下正则表达式可以满足问题的要求。
library(dplyr)
D %>% select(matches('case\\.vs\\.[[:alpha:]][[:digit:]]+'))
# A123.case.vs.B123.Cntl._FC B123.case.vs.B123.Cntl._FC A123.case.vs.D123.Cntl._FC
#1 1 0 2
#2 2 1 3
#3 3 2 4
#4 4 3 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.