r-根据aov()结果编程一个条件



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

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()

}

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

> 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()
}

最新更新