Как выполнить вложенный ANOVA в R (шаг за шагом)


Вложенный дисперсионный анализ — это тип дисперсионного анализа («дисперсионный анализ»), в котором по крайней мере один фактор вложен в другой фактор.

Например, предположим, что исследователь хочет знать, вызывают ли три разных удобрения разную скорость роста растений.

Чтобы проверить это, он попросил трех разных техников посыпать удобрением A четыре растения каждый, еще трех техников посыпать удобрением B по четыре растения каждый, а еще троих техников посыпать удобрением C по четыре растения каждый.

В этом сценарии переменной отклика является рост растений, а двумя факторами являются техника и удобрение. Получается, что техник вложен в удобрение:

В следующем пошаговом примере показано, как выполнить этот вложенный дисперсионный анализ в R.

Шаг 1: Создайте данные

Во-первых, давайте создадим фрейм данных для хранения наших данных в R:

#create data
df <- data.frame(growth=c(13, 16, 16, 12, 15, 16, 19, 16, 15, 15, 12, 15,
 19, 19, 20, 22, 23, 18, 16, 18, 19, 20, 21, 21,
 21, 23, 24, 22, 25, 20, 20, 22, 24, 22, 25, 26),
 fertilizer=c(rep(c('A', 'B', 'C'), each= 12 )),
 tech=c(rep(1:9, each= 4 )))

#view first six rows of data
head(df)

 growth fertilizer tech
1 13 A 1
2 16 A 1
3 16 A 1
4 12 A 1
5 15 A 2
6 16 A 2

Шаг 2: Подгонка вложенного дисперсионного анализа

Мы можем использовать следующий синтаксис для соответствия вложенному ANOVA в R:

aov(ответ ~ фактор A / фактор B)

куда:

  • ответ: переменная ответа
  • фактор А: первый фактор
  • фактор B: второй фактор, вложенный в первый фактор

Следующий код показывает, как подобрать вложенный ANOVA для нашего набора данных:

#fit nested ANOVA
nest <- aov(df$growth ~ df$fertilizer / factor(df$tech))

#view summary of nested ANOVA
summary(nest)

 Df Sum Sq Mean Sq F value Pr(>F) 
df$fertilizer 2 372.7 186.33 53.238 4.27e-10 \*\*\*
df$fertilizer:factor(df$tech) 6 31.8 5.31 1.516 0.211 
Residuals 27 94.5 3.50 
---
Signif. codes: 0 ‘\*\*\*’ 0.001 ‘\*\*’ 0.01 ‘\*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Шаг 3: Интерпретируйте вывод

Мы можем посмотреть на столбец p-значения, чтобы определить, оказывает ли каждый фактор статистически значимое влияние на рост растений.

Из приведенной выше таблицы видно, что удобрение оказывает статистически значимое влияние на рост растений (значение p < 0,05), а техник — нет (значение p = 0,211).

Это говорит нам о том, что если мы хотим увеличить рост растений, мы должны сосредоточиться на используемом удобрении, а не на отдельном специалисте, который разбрызгивает удобрение.

Шаг 4: Визуализируйте результаты

Наконец, мы можем использовать диаграммы для визуализации распределения роста растений по удобрениям и техникам:

#load ggplot2 data visualization package
library (ggplot2)

#create boxplots to visualize plant growth
ggplot(df, aes (x=factor(tech), y=growth, fill=fertilizer)) +
 geom_boxplot()

Из диаграммы видно, что между тремя разными удобрениями существуют значительные различия в росте, но не такие большие различия между техниками в каждой группе удобрений.

Похоже, что это совпадает с результатами вложенного дисперсионного анализа и подтверждает, что удобрения оказывают значительное влияние на рост растений, а отдельные техники — нет.

Дополнительные ресурсы

Как выполнить односторонний ANOVA в R
Как выполнить двухфакторный дисперсионный анализ в R
Как выполнить дисперсионный анализ с повторными измерениями в R