Как использовать наименьшую значимую разность фишера (lsd) в r
Однофакторный дисперсионный анализ используется для определения наличия или отсутствия статистически значимой разницы между средними значениями трех или более независимых групп.
Допущения , используемые в однофакторном дисперсионном анализе:
- H 0 : Средние значения равны для каждой группы.
- ХА : По крайней мере, один из способов отличается от других.
Если значение p ANOVA ниже определенного уровня значимости (например, α = 0,05), мы можем отвергнуть нулевую гипотезу и сделать вывод, что по крайней мере одно из групповых средних значений отличается от других.
Но чтобы точно знать, какие группы отличаются друг от друга, нам нужно провести апостериорный тест.
Обычно используемым апостериорным тестом является тест Фишера наименьшей значимой разницы (LSD) .
Вы можете использовать функцию LSD.test() из пакета agricolae для выполнения этого теста в R.
В следующем примере показано, как использовать эту функцию на практике.
Пример: ЛСД-тест Фишера в R.
Предположим, профессор хочет знать, приводят ли три разных метода обучения к разным результатам тестов среди студентов.
Чтобы проверить это, она случайным образом назначает 10 студентов использовать каждый метод обучения и записывает результаты их экзаменов.
В следующей таблице показаны результаты экзаменов каждого студента в зависимости от используемой методики обучения:
Мы можем использовать следующий код, чтобы создать этот набор данных и выполнить для него односторонний дисперсионный анализ в R:
#create data frame
df <- data. frame (technique = rep(c("tech1", "tech2", "tech3"), each = 10 ),
score = c(72, 73, 73, 77, 82, 82, 83, 84, 85, 89,
81, 82, 83, 83, 83, 84, 87, 90, 92, 93,
77, 78, 79, 88, 89, 90, 91, 95, 95, 98))
#view first six rows of data frame
head(df)
technical score
1 tech1 72
2 tech1 73
3 tech1 73
4 tech1 77
5 tech1 82
6 tech1 82
#fit one-way ANOVA
model <- aov(score ~ technique, data = df)
#view summary of one-way ANOVA
summary(model)
Df Sum Sq Mean Sq F value Pr(>F)
technical 2 341.6 170.80 4.623 0.0188 *
Residuals 27,997.6 36.95
---
Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Поскольку значение p в таблице ANOVA (0,0188) меньше 0,05, мы можем заключить, что все средние баллы экзаменов между тремя группами не равны.
Таким образом, мы можем выполнить LSD-тест Фишера, чтобы определить, какие групповые средние значения отличаются.
Следующий код показывает, как это сделать:
library (agricolae)
#perform Fisher's LSD
print( LSD.test (model," technic "))
$statistics
MSerror Df Mean CV t.value LSD
36.94815 27 84.6 7.184987 2.051831 5.57767
$parameters
test p.adjusted name.t ntr alpha
Fisher-LSD none technical 3 0.05
$means
std score r LCL UCL Min Max Q25 Q50 Q75
tech1 80.0 5.868939 10 76.05599 83.94401 72 89 74.00 82.0 83.75
tech2 85.8 4.391912 10 81.85599 89.74401 81 93 83.00 83.5 89.25
tech3 88.0 7.557189 10 84.05599 91.94401 77 98 81.25 89.5 94.00
$comparison
NULL
$groups
score groups
tech3 88.0 a
tech2 85.8a
tech1 80.0 b
attr(,"class")
[1] “group”
Часть результата, которая нас интересует больше всего, — это раздел под названием $groups . Техники, имеющие разные символы в столбце групп , сильно различаются.
По результату мы видим:
- Техника 1 и Техника 3 имеют значительно разные средние баллы на экзамене (поскольку технология 1 имеет значение «b», а технология 3 — значение «а»).
- Техника 1 и Техника 2 имеют значительно разные средние баллы на экзамене (поскольку технология 1 имеет значение «b», а технология 2 — значение «а»).
- Техника 2 и Техника 3 не имеют существенной разницы в средних баллах на экзамене (поскольку они оба имеют оценку «а»).
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как выполнить односторонний дисперсионный анализ в R
Как выполнить апостериорный тест Бонферрони в R
Как выполнить апостериорный тест Шеффе в R