我知道有很多关于如何从aov
中提取p值的帖子。但是,我有一个包含数千个样本的列表。我为每个样本做了一个aov来比较两种不同的治疗方法,现在我正在寻找一种方法来获得一个包含所有p值的列表,因为我不能一个一个地复制它们。
这甚至可能吗?
对于ttest
:
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)..)这令人沮丧.. 希望你明白我想做什么,
答案 0 :(得分:0)
results <- apply(data,1,function(x){anova(aov(x[1:3]~x[4:6]))[['Pr(>F)']][1]})
答案 1 :(得分:0)
如果数据已经在列表中,您可能想要lapply
。您可以使用summary
从aov
lapply(yourData, function(x){
av <- aov(yourFormula, data = x)
summary(av)[[1]][,5]
})