0

我有一个这种形式的巨大矩阵,有 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

“平均值”列中的行表示每行的 A、B 和 C 的平均值。另一方面,“平均值”列的全局平均值为 3.58。我想知道,使用 t 检验和 R,每行的平均值是否明显高于全局平均值。我怎样才能得到p值进行比较?使用 t.test() 比较两组之间的平均值非常简单,但我无法找到如何将单个值与包含该值的组的平均值进行比较。

4

1 回答 1

3

我非常同意 Roman 的观点,即您应该返回 CV,因为这似乎会给您带来许多误报。

但就您的 R 问题而言,您可以在此处尝试单样本 t 检验:

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 显着不同。我不是在提倡这种统计方法,但这是你可以实现它的方式。

于 2018-03-08T21:28:40.530 回答