Как я могу использовать регулярное выражение для выбора столбцов фрейма данных в r? - PullRequest
1 голос
/ 23 сентября 2019

У меня есть следующий фрейм данных.

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)

Я бы хотел выбрать первые 3 столбца с помощью регулярного выражения.

вот что я пытаюсь, но это не работает.

D %>% select(contains("case.vs.[a-z]*[0-9].cntl"))

У вас есть идеи, где моя проблема?

Спасибо

1 Ответ

3 голосов
/ 23 сентября 2019

Следующее регулярное выражение выполняет то, о чем спрашивает вопрос.

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...