我想将colMeans()应用于我的“数据”矩阵,但要使用子集。
例如,这是(数据):
C1 C2 C3 C4 C5 Category
Gene1 0.07 0.11 0.05 0.07 0.07 A
Gene2 0.20 0.18 0.16 0.15 0.15 A
Gene3 0.91 0.93 0.90 0.17 0.92 C
Gene4 0.32 0.05 0.12 0.13 0.05 B
Gene5 0.44 0.53 0.46 0.03 0.47 A
Gene6 0.70 0.34 0.80 0.80 0.80 B
Gene7 0.49 0.55 0.67 0.49 0.89 B
Gene8 0.25 0.20 0.49 0.21 0.50 C
Gene9 0.10 0.10 0.05 0.11 0.09 C
我想对基因的每个类别应用colMeans(data),因此分别为子集“ A”,“ B”和“ C”应用colMeans,并具有colMeans结果如下:
C1 C2 C3 C4 C5 Category
0.24 0.27 0.22 0.08 0.23 A
0.50 0.31 0.53 0.47 0.58 B
0.42 0.41 0.48 0.16 0.50 C
任何帮助表示赞赏。提前致谢!
另一种选择:
sapply(dat[, 1:5], function(x) tapply(x, dat[, 6], mean))
C1 C2 C3 C4 C5
A 0.2366667 0.2733333 0.2233333 0.08333333 0.2300000
B 0.5033333 0.3133333 0.5300000 0.47333333 0.5800000
C 0.4200000 0.4100000 0.4800000 0.16333333 0.5033333
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句