簡體   English   中英

如何使用正則表達式對 r 中的數據框列 select ?

[英]How can I use regular expression to select the columns of data frame in r?

我有以下數據框。

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)

我想 select 使用正則表達式的前 3 列。

這是我正在嘗試的,但它不起作用。

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

你知道我的問題在哪里嗎?

謝謝

以下正則表達式可以滿足問題的要求。

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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM