Как получить подробную информацию о процедуре ANOVA в R? - PullRequest
1 голос
/ 24 февраля 2012

Я делаю анову для переменной, разделенной на 9 категорий.

av <- aov(Z~Climes) 

, где Z - вектор, содержащий значения, а Climes содержит 9 категорий, по которым должна выполняться анова, имейте в виду, что количество выборок в каждой категории немного отличается.

Теперь мне нужен подробный вывод (например, JMP предоставляет мне матрицу 9 * 9, которая дает парные сравнения для каждой пары категорий, т.е. результаты t-теста).

Содержит ли выходной объект класса aov эту информацию? Если это так, я не могу увидеть это в документации, если нет, есть ли другая функция для выполнения подробного ANOVA в R?

1 Ответ

3 голосов
/ 24 февраля 2012

Чтобы ответить на ваш первый вопрос, нет : ваш объект aov содержит информацию о подгонке модели, как и было запрошено, а не post-hoc сравнений. Он даже не будет оценивать предположения о распределении (остатков), проверку гомоскедастичности и тому подобное, и это не то, что мы ожидаем увидеть в таблице ANOVA в любом случае. Однако вы можете (и, конечно, настоятельно) дополнять свой анализ оценкой соответствия модели, проверкой допущений и т. Д.

О вашем втором вопросе. Многократные сравнения обрабатываются отдельно, используя, например, pairwise.t.test() (с или без коррекции для нескольких тестов), TukeyHSD() (обычно лучше всего работает с хорошо сбалансированными данными), multcomp (см. glht()), как указано @ MYaseen208, или мульттест пакет. Некоторые из этих тестов предполагают, что F-тест ANOVA был значительным, другие процедуры более гибкими, но все зависит от того, что вы хотите сделать, и если это звучит как разумный подход к рассматриваемой проблеме (см. @ DWin's comment ). Так почему же R предоставил бы их автоматически?

В качестве иллюстрации рассмотрим следующий смоделированный набор данных (сбалансированный односторонний ANOVA):

dfrm <- data.frame(x=rnorm(100, mean=10, sd=2), 
                   grp=gl(5, 20, labels=letters[1:5]))

где групповые значения и SD следующие:

+-------+-+---+---------+--------+
|       | | N | Mean    | SD     |
+-------+-+---+---------+--------+
|grp    |a| 20|10.172613|2.138497|
|       |b| 20|10.860964|1.783375|
|       |c| 20| 9.910586|2.019536|
|       |d| 20| 9.458459|2.228867|
|       |e| 20| 9.804294|1.547052|
+-------+-+---+---------+--------+
|Overall| |100|10.041383|1.976413|
+-------+-+---+---------+--------+

С JMP у нас есть несущественный F (4,95) = 1,43 и следующие результаты (я попросил парные t-тесты):

enter image description here
(P-значения показаны в последнем столбце.)

Обратите внимание, что эти t-тесты не защищены от инфляции ошибок типа I.

С R мы бы сделали:

aov.res <- aov(x ~ grp, data=dfrm)
with(dfrm, pairwise.t.test(x, grp, p.adjust.method="none")) 

Вы можете проверить, что хранится в aov.res, введя str(aov.res) в приглашении R. Тесты Tukey HSD могут быть выполнены с использованием

TukeyHSD(aov.res)  # there's a plot method as well

или

library(multcomp)
glht(aov.res, linfct=mcp(grp="Tukey"))  # also with a plot method
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...