Кажется, проблема в вашей спецификации зависимой переменной.
В вашем вопросе отсутствовало определение данных и кода зависимого лица, поэтому я не вижу, в чем заключалась конкретная ошибка, но это не был правильный Surv()
объект выживания (см. ?survreg
).
Это изменение в вашем коде исправляет это, вносит некоторые незначительные улучшения в форматирование и работает нормально:
require(survival)
pacman::p_load(KMsurv)
library(KMsurv)
library(survival)
data("kidtran")
n = nrow(kidtran)
kidtran <- kidtran[sample(n),]
kidtran.train <- kidtran[1:(n * 0.8),]
kidtran.test <- kidtran[(n * 0.8):n,]
# Whatever kidtransurv was supposed to be is missing from your question,
# so I will replace it with something not-missing
# and I will make it into a proper survival object with Surv()
aftmodel <- survreg(Surv(time, delta) ~ gender + race + age, dist = "weibull", data = kidtran.train)
predicted <- predict(aftmodel, newdata = kidtran.test)
head(predicted)
302 636 727 121 85 612
33190.413 79238.898 111401.546 16792.180 4601.363 17698.895