簡體   English   中英

R 程序:select 包含某些單詞的列

[英]R program: select columns that contain certain words

我正在研究一個 R 程序,該程序應該是包含某些單詞的 select 列。 例如,我想 select 所有包含aa 1的列:

cols<-c('aa z 1','bb x 1', 'aa x 1', 'cc z 1') 
df <- data.frame(matrix(ncol = 5, nrow = 1)) 
colnames(df)<-cols 
df[1,]<-c(1,3,2,2,4)

在這個例子中,這意味着我想要 select 第 1 列( aa z 1 )和第 3 列( aa x 1 )。 有可能這樣做嗎?

預先感謝您的幫助

dplyr的解決方案:

library(dplyr)
select(df, matches("^aa.*1$"))

以“aa”開頭的正則表達式匹配字符串有任意數量的字符並以“1”結尾

在基礎 R 中,可以執行以下操作:

df[,grepl("^aa.*1$", names(df))]

^aa.*1$是使用正則表達式指定的模式。 過濾以aa開頭並以1結尾的所有列。

Output

aa z 1 aa x 1
1      1      2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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