Это зависит от того, рассматриваете ли вы своего пациента и группы ИМТ как факторы или как непрерывные ковариаты . Если они ковариаты, предложение @ jay.sf уместно. Он соответствует единой степени свободы для взаимодействия между линейным эффектом группы пациентов и линейным эффектом группы ИМТ.
Но это зависит как от порядка, так и от определения групп. Это предполагает, например, что «разница» между группами пациентов 1 и 2 такая же, как между группами пациентов 2 и 3 и так далее. Порядок групп пациентов таков, что каким-то образом группа 1 <группа 2 <группа 3 <группа 4? Аналогично для ИМТ. Эта модель также предполагает, что изменение на 1 единицу по шкале пациента было «таким же», как изменение на одну единицу по шкале ИМТ. Я не знаю, являются ли это разумными предположениями. </p>
Было бы более обычным рассматривать как группу пациентов, так и группу ИМТ в качестве факторов. Это предполагает отсутствие порядка в группах или то, что разница между любыми двумя группами была равна разнице между любыми двумя другими. В этом случае предложение jay.sf дало бы вводящий в заблуждение ответ.
Чтобы проиллюстрировать мою точку зрения ...
Сначала сгенерируйте некоторые искусственные данные, поскольку вы их не предоставили:
data <- tibble() %>%
expand(patient.group=1:4, bmi.group=1:3, rep=1:5) %>%
mutate(
z=-0.25*patient.group + 0.75*bmi.group,
death=rbernoulli(nrow(.), exp(z)/exp(1+z))
) %>%
select(-z)
Подберите простую непрерывную ковариатную модель с взаимодействием, согласно предложению jay.sf:
covariateModel <- glm(death~patient.group * bmi.group, data = data, family = "binomial")
summary(covariateModel)
Частичная отдача
Coefficients:
Estimate Std. Error z value Pr(>|z|)
(Intercept) -2.6962 1.8207 -1.481 0.139
patient.group 0.7407 0.6472 1.144 0.252
bmi.group 1.2697 0.8340 1.523 0.128
patient.group:bmi.group -0.3807 0.2984 -1.276 0.202
Здесь значение p для patient.group:bmi.group
взаимодействие - это тест Вальда, основанный на z-тесте с единственной степенью свободы.
Необходим немного более сложный подход, чтобы подогнать факторную модель с взаимодействием и получить тест на «общий» эффект взаимодействия .
mainEffectModel <- glm(death~as.factor(patient.group) + as.factor(bmi.group), data = data, family = "binomial")
interactionModel <- glm(death~as.factor(patient.group) * as.factor(bmi.group), data = data, family = "binomial")
anova(mainEffectModel, interactionModel, test="Chisq")
Предоставление
Analysis of Deviance Table
Model 1: death ~ as.factor(patient.group) + as.factor(bmi.group)
Model 2: death ~ as.factor(patient.group) * as.factor(bmi.group)
Resid. Df Resid. Dev Df Deviance Pr(>Chi)
1 54 81.159
2 48 70.579 6 10.58 0.1023
Здесь изменение отклонения является оценочным тестом и распределяется как статистика хи-квадрат c на (4-1) x ( 3-1) = 6 степеней свободы.
Эти два подхода дают схожие ответы с использованием моего конкретного набора данных , но они не всегда могут это сделать. Оба статистически верны, но какой из них наиболее подходит, зависит от вашей конкретной ситуации. У нас недостаточно информации для комментариев.
Этот отличный пост предоставляет больше контекста.