newdata при построении кривой выживаемости регрессии Кокса в r
Я пытаюсь построить скорректированную кривую выживания путем построения регрессии Кокса при использовании переменных взаимодействий.
чтение страницы surfit.coxph https://stat.ethz.ch/R-manual/R-devel/library/survival/html/survfit.coxph.html
Я вижу параметр "newdata"
newdata
a data frame with the same variable names as those that appear in the coxph formula. It is also valid to use a vector, if the data frame would consist of a single row.
The curve(s) produced will be representative of a cohort whose covariates correspond to the values in newdata. Default is the mean of the covariates used in the coxph fit.
Где я хочу построить линии в моем выводе Кокса, которые являются взаимодействиями. Т.е. если мой вывод Кокса выглядит так:
coef exp(coef) se(coef) z p
Drug2 -0.1345 0.876 0.1812 -0.732 4.5e-01
Drug3 -0.3678 0.719 0.0816 -3.966 7.2e-05
Drug4 0.0468 1.063 0.0432 0.932 3.4e-01
Sex 0.2574 1.294 0.0786 3.133 1.2e-03
Sex:Drug2 -0.1283 0.880 0.1809 -0.709 4.8e-01
Sex:Drug3 -0.3226 0.724 0.0817 -3.950 7.8e-05
Sex:Drug4 0.0524 1.054 0.0574 0.913 3.6e-01
Я хочу построить новые кривые выживания для моей переменной Drug после взаимодействия с Sex
,
Что приводит меня к этому newdata
параметр.
Какая разница в том, чтобы не включать newdata и просто использовать среднее значение ковариат по сравнению с вызовом newdata. На данный момент я даже не знаю, как правильно создавать новые данные.
Если кто-нибудь может дать мне какие-либо советы о том, как я буду строить newdata
основанный на моей модели Кокса, и каково это значение по сравнению с просто использованием среднего. Я должен был ожидать того же количества линий в моей исходной кривой выживания при построении этого нового графика выживания на основе данных Кокса.
1 ответ
Вы по-прежнему будете иметь скорректированное среднее выживание как неявную "базовую кривую выживания", но кривые, основанные на новых данных, будут иметь свои коэффициенты риска, смещенные от 1,0 с коэффициентом exp(coef). Вы вводите значения, представляющие объекты, для которых вы хотите оценки, и expand.grid
Функция создаст все двухсторонние комбинации ковариат. Непонятно, как вы смоделировали пол, но из результатов видно, что это не числовой, а числовой результат, и я предполагаю, что существует разница в одну единицу. Пытаться:
plot( survfit( my.fit, newdata=expand.grid(Sex=c(1,2), drug=factor(1:4) ) ) )