Я хочу использовать Пропорциональную модель опасности Кокса для прогнозирования времени выживания в наборе данных.Я разделил модель на фактор с двумя уровнями (Strata1 и Strata2).Теперь я хочу сделать прогноз, используя Survfit ().Я создал новый набор данных со средними значениями для каждого ковариата, соответствующего Strata1 и Strata2 соответственно.Тем не менее, когда я строю Survfit, он возвращает две кривые для каждых новых данных.Насколько я понимаю, мне нужно как-то указать стратификацию, но я не знаю как.Некоторая помощь с этим была бы очень признательна.Спасибо!
library(survival)
# Fit the model
cox.fit <- coxph(Surv(Time, Status, type = "right") ~ x1 + x2
+ strata(Strata), data = df, model=TRUE)
# Calculate means for each Strata
# Strata 1
df_Strata1 <- subset(df, Strata=="1")
x1_mean1 <- mean(df_Strata1$x1)
x2_mean1 <- mean(df_Strata1$x2)
#Strata 2
df_Strata2 <- subset(df, Strata=="2")
x1_mean2 <- mean(df_Strata2$x1)
x2_mean2 <- mean(df_Strata2$x2)
# Create new data for prediction
new_data1 <- data.frame(x1=x1_mean1, x2=x2_mean1, Strata="1")
new_data2 <- data.frame(x1=x1_mean2, x2=x2_mean2, Strata="2")
# Make predictions
pred.surv1 <- survfit(cox.fit, newdata = new_data1, strata=TRUE)
pred.surv2 <- survfit(cox.fit, newdata = new_data2, strata=TRUE)
# Plot
plot(pred.surv1$time, pred.surv1$surv, type="l", lty=1, ylim=c(0,1))
lines(pred.surv2$time, pred.surv2$surv, type = "l", lty=2)
Я хотел бы видеть одну кривую для каждого прогноза, но вместо этого я получаю две кривые для каждого прогноза.