【发布时间】:2013-10-08 02:05:25
【问题描述】:
我有一个矩阵:
>data
A A A B B C
gene1 1 6 11 16 21 26
gene2 2 7 12 17 22 27
gene3 3 8 13 18 23 28
gene4 4 9 14 19 24 29
gene5 5 10 15 20 25 30
我想测试每个基因(行)值的平均值在每个基因的不同组之间是否不同?我想使用 T 检验。该函数应取所有列属于组A,取所有列属于组B,取所有列属于组C,...并计算每个基因的每组之间的T检验。(每个组包含几列)
我从对我的预览帖子的回答中得到的实施是:
Results <- combn(colnames(data), 2, function(x) t.test(data[,x]), simplify = FALSE)
sapply(Results, "[", c("statistic", "p.value"))
但它确实在所有列之间而不是在每一行的组之间进行计算。有人可以帮助我如何修改此代码以计算组之间的 T 检验,例如我的数据吗?
【问题讨论】:
-
我想这是一个重复的问题,但@Jilber 不厌其烦地实现了我在回答时顺便提到的
combn替代方案。 -
请注意,在最近的编辑中,这个问题现在可能与 grouping data with the same name and applying function 重复。
标签: r statistics