我有一个包含许多因子级别的数据集。每个因子都有左侧和右侧,并且因子/侧组合有多个条目。所以它看起来像这样:
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)
summary
在Pr(>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()
}