如何从具有多个方差分析的向量中提取 p 值

How to extract p values from a vector with multiple anova

使用 R,我使用以下脚本创建了一个包含 39 个方差分析的向量

w3<-lapply(split(q1, q1$taxa), aov, formula=trig ~ d)

我可以通过 summary(w3$"type") 从它们中的每一个分别提取 p 值,但是我怎样才能同时提取所有 39 个 p 值,最好将所有 p 值写入一个单独的数据框中?

此外,可以创建一个列表,其中包含每个方差分析的摘要

e7<-lapply(w3, FUN=summary) 

但是有没有办法用这个列表中的 p 值制作数据框?

您可以使用 sapply 迭代每个方差分析并提取 p 值。

sapply(w3, function(x) summary(x)[[1]][["Pr(>F)"]][[1]])

使用 mtcars

的可重现示例
w3 <- lapply(split(mtcars, mtcars$cyl), aov, formula=mpg ~ am) 
sapply(w3, function(x) summary(x)[[1]][["Pr(>F)"]][[1]])

#     4      6      8 
#0.0892 0.2209 0.8662