Постройте объект Survexp с помощью ggsurvplot
Я пытаюсь построить кривую ожидаемой выживаемости для когорты, рассчитанной с использованием таблицы смертности населения вместе с survexp
, создавая объект Survexp, который затем хочу построить с помощью ggsurvplot
из survminer
(из-за эстетики). Он отлично работает при построении графика с помощьюplot
метод, но похоже ggsurvplot
не приму survexp
объект. Представлять с данными изsurvival
пакет:
library(tidyverse)
library(survival)
library(survminer)
#> Loading required package: ggpubr
#> Loading required package: magrittr
#>
#> Attaching package: 'magrittr'
#> The following object is masked from 'package:purrr':
#>
#> set_names
#> The following object is masked from 'package:tidyr':
#>
#> extract
set.seed(555)
# Data prep
mydata <-
mgus %>%
mutate(year = floor(runif(min = 1985, max = 1999, n = nrow(mgus)))) %>% # random years
select(age, sex, year, futime, death) %>%
as.tbl()
# Regular survival fit
fit <-
survfit(Surv(futime, death) ~ 1, data = mydata)
# expected survival fit
exp.fit <-
survexp(futime ~ 1,
data = mydata,
ratetable = survexp.us)
plot(fit) # This works
plot(exp.fit) # This works
ggsurvplot(fit) # This also works
ggsurvplot(exp.fit) # This does not work
#> Error in data.frame(..., check.names = FALSE): arguments imply differing number of rows: 237, 0
Кто знает, почему это так и как построить кривую с помощью ggsurvplot?