Почему у меня восходящая кривая выживания (кумулятивная заболеваемость)?

Я не знаю как, но кривая выживания, которая должна идти вниз, выходит вверх. На самом деле я получаю кумулятивную кривую заболеваемости. Есть идеи, как найти и устранить проблему? Благодарю вас!

кривая выживания "вверх"

Кусок ДФ:

id<-c(11001, 11731, 12220, 16530, 99290, 100500)
time<-c(51,60,24,60,60,55)
event<-c(1,0,1,0,0,1)
df<-data.frame(id,time,event)

Код, который я пробовал:

df$id<-factor(df$id)
df$event<-factor(df$event)
# time is interger

a<-Surv(df$time, df$event)
km<-survfit(a~1,df)
plot(km)

Я использовал этот код бесчисленное количество раз, я действительно не знаю, что происходит.


person lemosl    schedule 09.01.2020    source источник
comment
Почему вы переводите все в фактор? Если вы удалите эти две строки, все будет работать как обычно.   -  person RaphaelS    schedule 10.01.2020
comment
Из документации Surv: если переменная состояния является фактором, то предполагается mstate.   -  person RaphaelS    schedule 10.01.2020
comment
Спасибо @RaphaelS! Это сработало!   -  person lemosl    schedule 10.01.2020


Ответы (1)


В инструкции пакета выживания говорится, что для функции Surv: «Когда тип выживания — «mstate», тогда переменная состояния будет рассматриваться как фактор. Первый уровень фактора берется для представления цензуры, а остальные — перехода к заданному. состояние. (Если переменная состояния является фактором, предполагается mstate.)"

Моя переменная «событие» была числовой с 0 для цензирования и 1 для смертей. Я не знаю почему, но когда я пропустил преобразование переменной в фактор, как было предложено, код работал, как и ожидалось (я полагаю, что функция преобразует переменную внутри).

person lemosl    schedule 10.01.2020