如何使用两个样本t检验计算R中每个特征的p值

时间:2017-08-28 21:35:52

标签: r statistics

我有两个数据框案例和控件,我执行了两个样本t检验,如下所示。但我正在从(1299个特征/列)的特征集中进行特征提取,所以我想计算每个的p值。特征。基于为每个要素生成的p值,我想拒绝或接受零假设。

有人可以向我解释下面的输出是如何解释的,以及如何计算每个特征的p值?

t.test(New_data_zero,New_data_one)
    Welch Two Sample t-test

data:  New_data_zero_pca and New_data_one_pca
t = -29.086, df = 182840000, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -0.02499162 -0.02183612
sample estimates:
 mean of x  mean of y 
0.04553462 0.06894849 

2 个答案:

答案 0 :(得分:1)

看看?t.test。 x和y应该是矢量而不是矩阵。因此该函数会自动将它们转换为向量。假设列是要素并且两个矩阵具有相同的特征,您想要做的是:

pvals=vector()
for (i in seq(ncol(New_data_zero))){
 pvals[i]=t.test(New_data_zero[,i], New_data_one[,i])$p.value
}

然后你可以看一下pvals(可能是对数刻度)和多次假设检验后的修正(参见?p.adjust)。

答案 1 :(得分:0)

我们还要解决这种方法在查找功能之间存在差异方面的非常糟糕的想法。即使这1299个特征之间的所有影响都是零,你会发现*显着的结果在所有可能的1299个双向比较中有0.05个,这使得这个策略实际上毫无意义。我强烈建议您查看介绍性统计文本,特别是关于家庭式I类错误率的部分,然后再继续。