0

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

这甚至可能吗?对于 a 创建的 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(>F).. 这有点令人沮丧.. 希望你明白我想要做什么,

4

2 回答 2

0
results <- apply(data,1,function(x){anova(aov(x[1:3]~x[4:6]))[['Pr(>F)']][1]})
于 2014-06-11T18:20:18.703 回答
0

lapply如果数据已经在列表中,您可能会想要。您可以使用summary从中获取 p 值aov

lapply(yourData, function(x){
    av <- aov(yourFormula, data = x)
    summary(av)[[1]][,5]
})
于 2014-06-11T20:05:32.207 回答