R 数据帧中的子多个模式
我想根据不同的列名称模式对数据帧进行子集划分。我尝试了一种模式,如下所示:R 数据帧中的子多个模式,r,R,我想根据不同的列名称模式对数据帧进行子集划分。我尝试了一种模式,如下所示: df<-data.frame( ID=c("AA","AA","BB","BB","CC","CC", "DD", "DD"), var.FA=c(1,2,1,2,1,2,1,2), var.SI=c(100, 33, 3000, 22, 12 ,34, 12, 78), var2.FA=c(10,15,100,20,10,15,2, 4), var2.SE=c(100, 33, 3000, 2
df<-data.frame(
ID=c("AA","AA","BB","BB","CC","CC", "DD", "DD"),
var.FA=c(1,2,1,2,1,2,1,2),
var.SI=c(100, 33, 3000, 22, 12 ,34, 12, 78),
var2.FA=c(10,15,100,20,10,15,2, 4),
var2.SE=c(100, 33, 3000, 22, 12 ,34, 12, 78))
df[sub('.*\\.', "", x=colnames(df))=="FA"]
预期产量
var.FA var2.FA var2.SE
1 1 10 100
2 2 15 33
3 1 100 3000
4 2 20 22
5 1 10 12
6 2 15 34
7 1 2 12
8 2 4 78
对于多个元素,请在%
df[sub('.*\\.', "", x=colnames(df)) %in% c('FA', 'SE')]
df[grep((FA | SE)$”,names(df))]
将起作用。
df[sub('.*\\.', "", x=colnames(df)) %in% c('FA', 'SE')]