![](/img/trans.png)
[英]In R, how do I select certain columns that contain a certain value in a certain row index?
[英]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.