我有一个巨大的矩阵,有1000000行,10000列。这是一个玩具示例:
A B C Mean
1 3 4 2.66
2 4 3 3
1 3 4 2.66
9 9 9 9
1 3 2 2
2 4 5 3
1 2 6 3
2 3 5 3.33" mean“列中的行表示每行的A、B和C的平均值。另一方面," mean“一栏的全局平均值为3.58。我想知道,使用t检验和R,每一行的平均值是否显着高于全局平均值。我怎样才能得到比较用的p值?使用t.test()比较两组之间的平均值非常简单,但我无法找到如何将单个值与包含该值的组的平均值进行比较。
发布于 2018-03-09 05:28:41
我强烈同意罗曼的观点,你应该回到简历上,因为这似乎容易给你带来大量的假阳性。
但就你的R问题而言,你可以在这里尝试一个单样本t-test:
global.mean <- 3.58
val.matrix <- matrix(c(...),...)
pvals <- apply(val.matrix,1,function(r) t.test(r,mu=global.mean)$p.value)
### should do a multiple comparison correction here, e.g., pvals*nrow(val.matrix)这将为您提供一个大小为nrow(val.matrix)的向量,其中每个元素都是来自双边t检验的p值,用于测试一行的值是否与3.58有显着差异。我并不提倡这种统计方法,但这是您可以实现它的方式。
https://stackoverflow.com/questions/49182213
复制相似问题