我有一个类似于以下格式的数据:
AAA_1 AAA_2 AAA_3 BBB_1 BBB_2 BBB_3 CCC
1 1 1 1 2 2 2 1
2 3 1 4 0 0 0 0
3 5 3 0 1 1 1 1
对于每一行,我想要对具有共同特征的列进行平均值计算,如下所示:
feature <- c("AAA","BBB","CCC")
所需输出应如下所示:
AAA BBB CCC
1 1 2 1
2 2.6 0 0
3 2.6 1 1
针对每个模式,我能够独立完成:
data <- read.table("data.txt",header=T,row.name=1)
AAA <- as.matrix(rowMeans(data[ , grepl("AAA" , names( data ) ) ])
但我不知道如何在一行中为不同的模式进行部分匹配
我还尝试了其他一些方法,例如:
for (i in 1:length(features)){
feature[i] <- as.matrix(rowMeans(data[ , grepl(feature[i] , names( data ) ) ]))
}