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) ) ) )
Другие вопросы по тегам