У меня есть набор данных с множеством уровней факторов. у каждого фактора есть левая и правая стороны, и есть несколько записей для комбинации фактор / сторона. Это выглядит примерно так:
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 показывает значение p в столбце Pr(>F):
> 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()
}
Фантастическое объяснение. Я не знаю, почему я не думал о результатах в виде таблицы.
Вы пробовали с резюме? если вы используете сводку в результате aov, одним из выходных данных является значение p.