根据aov()结果编程条件

时间:2018-11-26 12:57:24

标签: r statistics anova

我有一个包含许多因子水平的数据集。每个因子都有左侧和右侧,并且因子/侧边组合有多个条目。所以看起来像这样:

Factor_type             Side       Value
factor1                 L           134
factor1                 R           112
factor2                 L           166
factor2                 R            72

我遍历每个因素并进行aov()分析:

factorset <- c("factor1", "factor2", "factor3")
for(f in factorset){
  x <- mydata %>% filter(Factor_type == f) #creates a dataset of only desired factor

  a <- aov(data = x, formula = Value ~ Side)

我想知道如何/是否可以通过aov分析创建条件。本质上:

if(a == IS SIGNIFICANT){
    ggplot(x, aes(x = Side, y = Value)+geom_boxplot()

}

1 个答案:

答案 0 :(得分:1)

看玩具的例子。我会生成一些数据

> x<-gl(5,5)
> y<-rnorm(25)

并运行aov

> a<-aov(y~x)

summaryPr(>F)列中显示p值:

 > summary(a)
            Df Sum Sq Mean Sq F value Pr(>F)
 x            4  1.834  0.4584   0.519  0.722
 Residuals   20 17.651  0.8825               

您可以直接通过以下方式访问它:

> summary(a)[[1]][1,5]
[1] 0.722432

因此,您的代码段是:

if(summary(a)[[1]][1,5]<0.05){
    ggplot(x, aes(x = Side, y = Value)+geom_boxplot()
}