Письма группы Games-Howell post hoc в R

Я использую sweetpotato database включен в library agricolae R:

data (sweetpotato) Этот набор данных содержит две переменные: yield(непрерывная переменная) и вирус (факторная переменная).

Из-за значимости теста Левена я не могу предположить однородность отклонений, и я применяю тест Уэлча в R вместо одностороннего ANOVA, за которым следует постхок Тьюки.

Тем не менее, проблемы возникают, когда я применяю posthoc test. В тесте Tukey posthoc я использую library(agricolae) и отображает надстрочные буквы между вирусными группами. Поэтому проблем нет.

Тем не менее, для выполнения Games-Howell posthoc я использую library(userfriendlyscience) и я получаю вывод Games-Howell, но для меня невозможно получить сопоставление букв верхнего индекса между вирусными группами, как это получается через library(agricolae),

Используемый код был следующим:

библиотека (userfriendlyscience)

Данные (батат)

oneway <-oneway (sweetpotato $ virus, y = sweetpotato $ yield, posthoc = 'games-howell')

в одну сторону

Я пытаюсь с cld() импортировать ранее library(multcompView) но не работает.

Может кто-нибудь мог мне помочь?

Заранее спасибо.

1 ответ

Эта функциональность не существует в userfriendlyscience в данный момент. Вы можете увидеть, какие средства отличаются, и с какими p-значениями, посмотрев на имена строк в кадре данных с результатами теста post-hoc. Я не уверен, какой пакет содержит sweetpotato набор данных, но с использованием ChickWeight набор данных, который поставляется с R (и используется на oneway страница справочника):

oneway(y=ChickWeight$weight, x=ChickWeight$Diet, posthoc='games-howell');

Урожайность:

### (First bit removed as it's not relevant.)

### Post hoc test: games-howell

     diff  ci.lo ci.hi    t     df     p
2-1 19.97   0.36 39.58 2.64 201.38  .044
3-1 40.30  17.54 63.07 4.59 175.92 <.001
4-1 32.62  13.45 51.78 4.41 203.16 <.001
3-2 20.33  -6.20 46.87 1.98 229.94  .197
4-2 12.65 -10.91 36.20 1.39 235.88  .507
4-3 -7.69 -33.90 18.52 0.76 226.16  .873

Первые три строки сравнивают группы 2, 3 и 4 с 1: использование альфа = 0,05, 1 и 2 имеют те же значения, но 3 и 4 выше. Это позволяет вам вычислить логический вектор, который вам нужен для multCompLetters в multcompView, На основе примера со страницы руководства на ?multcompView:

### Run oneway anova and store result in object 'res'
res <- oneway(y=ChickWeight$weight, x=ChickWeight$Diet, posthoc='games-howell');

### Extract dataframe with post hoc test results,
### and overwrite object 'res'
res <- res$intermediate$posthoc;

### Extract p-values and comparison 'names'
pValues <- res$p;

### Create logical vector, assuming alpha of .05
dif3 <- pValues > .05;

### Assign names (row names of post hoc test dataframe)
names(dif3) <- row.names(res);

### convert this vector to the letters to compare
### the group means (see `?multcompView` for the
### references for the algorithm):
multcompLetters(dif3);

Это приводит к окончательному результату:

    2     3     4     1 
  "a"   "b"   "c" "abc"

Это то, что тебе нужно, верно?

Я добавил эту функциональность в userfriendlyscience, но пройдет некоторое время, прежде чем эта новая версия появится на CRAN. Тем временем вы можете получить исходный код этого обновления по адресу https://github.com/Matherion/userfriendlyscience/blob/master/R/oneway.R если хотите (нажмите кнопку "raw", чтобы получить простой скачать версию исходного кода).

Обратите внимание, что если вам нужна эта обновленная версия, вам нужно установить параметр posthocLetters в TRUE, потому что это FALSE по умолчанию. Например:

oneway(y=ChickWeight$weight,
       x=ChickWeight$Diet,
       posthoc='games-howell',
       posthocLetters=TRUE);

Не должно бытьdif3 <- pValues < .05, вместо dif3 <- pValues > .05?

Таким образом, буквы будут одинаковыми, если распределение "одинаковое" (это не доказательство того, что они разные).

Пожалуйста, поправьте меня, если я неправильно понимаю.

Другие вопросы по тегам