Проблемы с 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-значения сильно различаются, я предполагаю, что с точным распределением что-то идет не так, но я просто не могу понять проблему.

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

Не могли бы вы дать представление о вашем фрейме данных? Ошибка гласит, что ваши входные данные отличаются. Может ли быть так, что gender и disease не одинаковой длины? Получил NAs? Или что-то подобное? Также попробуйте свой код с примером набора данных. Таким образом, вы можете быть уверены, что ваш код правильный и проблема связана с данными.

mischva11 12.12.2020 21:40

Спасибо за быстрый ответ! Фрейм данных — это некоторые данные, поступающие с пакетом монет, поэтому я считал его набором данных примера. Я использовал эти данные, чтобы получить воспроизводимый пример. В данных нет NAs, а gender и disease имеют одинаковую длину. С этой дополнительной информацией: нужно ли еще пробовать какие-то другие данные?

mandel_broetchen 12.12.2020 21:47

точный тест 2x3, похоже, не поддерживается chisq_test(table(dt$disease, dt$gender), distribution = 'exact'), и метод формулы неправильно отлавливает ошибку

rawr 12.12.2020 21:54

Если вы просто измените ввод на 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 или задача).

mandel_broetchen 12.12.2020 21:58
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
1
4
226
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

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

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