У меня есть модель Кокса:
res <- coxph(Surv(time,status)~drugName*strata(preventative),data=df)
время - целое число от 0 до N статус - целое число 0 или 1 DrugName — категориальная переменная, например, «drugA», «drugB» и т. д. профилактический - логическое значение TRUE/FALSE
От:
summary(res)
Я вижу результаты для:
drugA
drugB
drugC
drugA:strata(preventative)=TRUE
drugB:strata(preventative)=TRUE
drugC:strata(preventative)=TRUE
Однако я не могу получить результаты для слоев, где предупредительный = FALSE.
Меня заверил клинический эпидемиолог, что это возможно, однако я использую R, а она использует SAS.
Помимо повторного расчета и изменения предупредительного термина TRUE/FALSE, как я могу сделать это в R?
РЕДАКТИРОВАТЬ №1 Согласно ответу Юлиуса Вайноры.
Я сейчас попробовал:
res <- coxph(Surv(time,status)~drugName*strata(preventative),data=df)
а также
res <- coxph(Surv(time,status)~drugName:strata(preventative),data=df)
Соответствующие результаты:
и (новое предложение)
Если новое предложение поможет просто очистить значения категориальной переменной превентивный, есть идеи, почему препаратИмяциталопрам в первой модели имеет значение, но NA во второй модели?
Ваши текущие результаты уже включают то, что вы хотите: drugA
соответствует FALSE
, а drugA + drugA:strata(preventative)=TRUE
соответствует истине. Чтобы получить те же результаты более чистым способом, вы можете вместо этого запустить
coxph(Surv(time, status) ~ drugName:strata(preventative), data = df)
Я добавил правку для уточнения, поскольку у меня есть дополнительный вопрос.
@AnthonyNash, базовую функцию опасности можно рассматривать как постоянный член. Тогда, скажем, в первой модели отсутствует амитриптилин, т.к. амитриптилин+пропранолол+циталопрам=1, так что их отдельно идентифицировать нельзя (проблема коллинеарности). Аналогичные отношения можно показать между другими переменными в первой и второй моделях. То есть всякий раз, когда что-то отсутствует или не идентифицировано, это происходит из-за коллинеарности, вызванной базовой функцией риска.
Большое спасибо!