Я думаю, что его выживание в нижнем регистре, и я думаю, data.frame был построен неправильно.Таким образом, код запускается.
library(survival)
status <- c(1,0,0,0,0,0,0,1,1,0,0,0,0,0,0,0,0,1,0,0,0,0,1,0,1,1,1,1,1,1,1,1,0,0,0,0,0,0,1,0,1,1,0,0,1,1,0,0,0,0)
classification <- c(1,1,1,2,2,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,5,5,5,5,5,5,5,5,5,5,5,5,5,5,5,6,6,6,6,6,7,7,7,7,7,8,8,8,8,8)
df <-data.frame( Sub = c(letters,LETTERS[1:24]),
status= status,
time= round(rnorm(50,300,100),0),
class = classification )
fit <- survfit(Surv(time,status)~class, data= df)
plotFit <- plot(fit)
Для координат ниже только начало.Я думаю, что вы должны разделить линии на n.events, чтобы правильно построить его.
x <- c(1,fit$time)
y <- c(1,(fit$surv))
plot(x,y, type="S")
Вы также можете проверить пакет survminer
и проверить функцию ggsurvplot
.Графики более приятные, а функция plot экспортируется.Может быть, это поможет?
library(survminer)
ggsurvplot(fit, data = df)
ggsurvplot