R 如何使用多个方差分析从向量中提取p值

R 如何使用多个方差分析从向量中提取p值,r,extract,anova,R,Extract,Anova,使用R,我使用以下脚本创建了一个包含39个ANOVA的向量 w3<-lapply(split(q1, q1$taxa), aov, formula=trig ~ d) w3您可以使用sapply迭代每个方差分析并提取p值 sapply(w3, function(x) summary(x)[[1]][["Pr(>F)"]][[1]]) 使用具有mtcars w3 <- lapply(split(mtcars, mtcars$cyl), aov, formula=mpg ~

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

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

w3您可以使用
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 

w3非常感谢,如果我在分析中应用了几个自变量,我无法提取第二个变量后的p值(我可以提取的第二个变量只是用2替换最后一个1),请解释一下我做错了什么?(错误是:总结中的错误(x)[[1]][[Pr(>F)]][[3]]:下标超出范围)如果没有可复制的数据,很难提供帮助,因为我不知道w3中有什么结构。您可以共享dput(w3)吗?你得到这个错误是因为对于某些数据,
[[2]]
[[3]]
没有值。数据表非常大,所以我不确定是否可以粘贴到这里,但为了简化它,是anova模型的列表,如果我用{summary}函数取其中一个,它看起来是这样的:Df Sum Sq Mean Sq F value Pr(>F)d 8 12.10 1.5126 7.557 1.02e-08***丰度1 0.05 0.0467 0.233 0.630 d:丰度8 1.43 0.1789 0.894 0.523为什么需要用2替换最后1?这应该始终保持
[[1]]
。当你运行sapply(w3,函数(x)summary(x)[[1]][[“Pr(>F)”]][[1]])
时会发生什么?它给出了第一个自变量的p值,非常好,我只是想让它用于多元方差分析,并提取d*丰度的p值,非常感谢你的帮助
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