需要帮助从aov中提取多个p值

时间:2014-06-11 17:53:30

标签: r anova p-value

我知道有很多关于如何从aov中提取p值的帖子。但是,我有一个包含数千个样本的列表。我为每个样本做了一个aov来比较两种不同的治疗方法,现在我正在寻找一种方法来获得一个包含所有p值的列表,因为我不能一个一个地复制它们。

这甚至可能吗? 对于ttest

创建的p值,我没有遇到任何问题
results <- apply(data,1,function(x){t.test(x[1:3],x[4:6])$p.value})

数据是我导入的.csv,[1:3]表示与列[4:6]进行比较的列

所以这真的不是问题,但似乎不可能为aov做类似的事情:

results <- apply(data,1,function(x){aov(x[1:3]~x[4:6])})

我无法获得包含所有p值的列表(称为Pr(&gt; F)..)这令人沮丧.. 希望你明白我想做什么,

2 个答案:

答案 0 :(得分:0)

results <- apply(data,1,function(x){anova(aov(x[1:3]~x[4:6]))[['Pr(>F)']][1]})

答案 1 :(得分:0)

如果数据已经在列表中,您可能想要lapply。您可以使用summaryaov

获取p值
lapply(yourData, function(x){
    av <- aov(yourFormula, data = x)
    summary(av)[[1]][,5]
})