У меня есть набор данных выживания. Я хотел бы провести логарифмический тест для лечения, разбитого на 4 категории. Я не могу использовать команду survdiff()
, потому что асимптотическое распределение этих статистических данных представляет собой хи-квадрат, и мне нужна нормальность (я делаю это в настройке множественного вменения и объединения позже). Вместо этого я хочу запустить регрессию Кокса, а затем запустить тест оценки, который будет нормально распределен.
Итак, что я хотел бы сделать, так это взять мои 4 категории, а затем разбить их на несколько групп, чтобы сравнить их по отдельности. Например
Обработка 2 против обработки 3: возможно ли сделать это без разбивки данных? Предположим, у нас есть набор данных записи из пакета KMsurv.
library(KMsurv)
> summary(coxph(Surv(T1,D1)~factor(Z11),data=burn))
Call:
coxph(formula = Surv(T1, D1) ~ factor(Z11), data = burn)
n= 154, number of events= 99
coef exp(coef) se(coef) z Pr(>|z|)
factor(Z11)2 -0.9820 0.3745 0.4956 -1.982 0.0475 *
factor(Z11)3 -1.6872 0.1850 0.8029 -2.101 0.0356 *
factor(Z11)4 -0.4070 0.6656 0.3957 -1.029 0.3037
...
Likelihood ratio test= 9.17 on 3 df, p=0.0271
Wald test = 7.38 on 3 df, p=0.06083
Score (logrank) test = 8 on 3 df, p=0.04602
Это выводит тест logrank для 1 против 2 против 3 против 4, но я хочу только 2 против 3. Я знаю, что могу получить его, выполнив перед этой командой
subsetted=subset(burn,Z11==2|Z11==3)
summary(coxph(Surv(T1,D1)~factor(Z11),data=subsetted))
Но это станет утомительным и трудным для отладки, когда нам придется делать такие вещи, как сравнение 1,2 и 4.
Итак, есть ли какой-либо способ выбрать, какие группы вы хотите сравнить в команде coxph, или это единственный способ выбрать группы, чтобы предварительно задать их?