Проблемы с chisq_test в пакете монет R

это мой первый вопрос о stackoverflow, поэтому, надеюсь, я дам вам всю необходимую информацию.

Я пытаюсь провести тест хи-квадрат на основе точного распределения, используя функцию chisq_test в пакете coin. Я хотел бы сравнить две группы по одной переменной, но получаю предупреждающее сообщение. Вот минимальный воспроизводимый пример (по крайней мере, я надеюсь, что это один):

library(coin)

dt <- as.data.frame(alzheimer)

xtabs(~ disease + gender, data = dt)

chisq_test(disease ~ gender, data = dt, distribution = "exact")

Я проверяю таблицу непредвиденных обстоятельств, чтобы убедиться, что в каждой ячейке достаточно дел. Когда я провожу тест, я получаю этот вывод:

> chisq_test(disease ~ gender, data = dt, distribution = "exact")

    Exact Pearson Chi-Squared Test

data:  disease by gender (Female, Male)
chi-squared = 9.7121, p-value = 0.3895

Warning messages:
1: In T - expectation(object) :
  longer object length is not a multiple of shorter object length
2: In (T - expectation(object))^2/variance(object) :
  longer object length is not a multiple of shorter object length

Я рассчитал p-значение, используя приблизительное распределение, чтобы убедиться, что предупреждение действительно является проблемой:

> chisq_test(disease ~ gender, data = dt, distribution = approximate(nresample = 1e+05))

    Approximative Pearson Chi-Squared Test

data:  disease by gender (Female, Male)
chi-squared = 9.7121, p-value = 0.00756

Поскольку оба p-значения сильно различаются, я предполагаю, что с точным распределением что-то идет не так, но я просто не могу понять проблему.

Может кто поможет решить проблему или понять причину предупреждения.


person mandel_broetchen    schedule 12.12.2020    source источник
comment
Не могли бы вы дать представление о вашем фрейме данных? Ошибка гласит, что ваши входные данные отличаются. Может быть, gender и disease не одинаковой длины? Есть NAs? Или что-то подобное? Также попробуйте свой код с примером набора данных. Таким образом, вы можете быть уверены, что ваш код правильный и проблема связана с данными.   -  person mischva11    schedule 12.12.2020
comment
Спасибо за быстрый ответ! Фрейм данных — это некоторые данные, поступающие с пакетом монет, поэтому я считал его набором данных примера. Я использовал эти данные, чтобы получить воспроизводимый пример. В данных нет NAs, а gender и disease имеют одинаковую длину. С этой дополнительной информацией: нужно ли еще пробовать какие-то другие данные?   -  person mandel_broetchen    schedule 12.12.2020
comment
точный тест 2x3 не поддерживается кажется chisq_test(table(dt$disease, dt$gender), distribution = 'exact'), и метод формулы не правильно отлавливает ошибку   -  person rawr    schedule 12.12.2020
comment
Если вы просто измените ввод на chisq_test(table(dt$gender, dt$disease), distribution = 'exact'), вы получите тот же результат, что и я. Таким образом, количество строк в таблице должно быть равно двум. В ?chisq_test он читается как the distribution can be ... computed exactly for univariate two-sample problems by setting distribution to ... "exact", поэтому не должно быть ограничения на количество столбцов (если это таблица 2xk или проблема).   -  person mandel_broetchen    schedule 12.12.2020


Ответы (1)


Я написал Торстену Хотхорну, одному из авторов пакета. Он сказал мне, что точное распределение для теста хи-квадрат работает только в случае задач 2x2. Таким образом, предупреждение или тот факт, что вы не получаете сообщение об ошибке, является ошибкой в ​​текущей версии 1.3-1 пакета coin. В версии пакета R-forge эта ошибка уже исправлена.

person mandel_broetchen    schedule 20.12.2020