R-一种方式anova提取p_value

时间:2018-05-21 02:26:15

标签: r anova p-value broom

我正在尝试在数据集的几行上执行单向anova并提取p_value以便在之后使用它。

这就是我所做的:

anova <- function(x) {summary(aov(x ~ bt.factor))[[1]]["Pr(>F)"]}
anv.pval <- apply(golubALL, 1, anova)

使用这个公式,我能够提取pvalue,但它带有其他元素:

$`1414_at`
            Pr(>F)
bt.factor   0.7871
Residuals

我希望得到的结果只是在列表中。我怎么能提取它?

1 个答案:

答案 0 :(得分:2)

考虑使用broom。使用tidy(),您只能提取p.value字段:

require(broom)
a <- aov(mpg ~ wt, mtcars)

tidy(a)
#        term df    sumsq     meansq statistic      p.value
# 1        wt  1 847.7252 847.725250  91.37533 1.293959e-10
# 2 Residuals 30 278.3219   9.277398        NA           NA

tidy(a)$p.value
# [1] 1.293959e-10           NA