R中多个变量的Kaplan-Meier生存估计



我试图找到多个变量的Kaplan-Meier估计。

我有一个数据集,看起来像这样:

fw_year steroid_dos status     current_dos
1   6.3271732       0.0      0        7.5-14.9 mg
24  4.5530457       0.0      0             no-use
29  0.9137577       0.0      0             no-use
33  7.3675566     367.5      0       15.0-24.9 mg
42  3.3127995       0.0      0             no-use
51  9.8288841       0.0      0          >0-4.9 mg
53  8.3696098       0.0      0          >0-4.9 mg

我用了密码CCD_ 1以获得每个类别的以下结果。

current_dos=no-use 
time n.risk n.event survival std.err lower 95% CI upper 95% CI
21    480       1    0.998 0.00208        0.994        1.000
189    447       1    0.996 0.00305        0.990        1.000
203    444       1    0.993 0.00378        0.986        1.000
208    443       1    0.991 0.00438        0.983        1.000

我的问题是,我如何才能获得药物类别的kaplan-meier估计值,以在年份栏中显示每1.5年和10年的结果?

以后,请以人们可以复制并粘贴到控制台的格式发布您的数据。一般情况下,人们使用dput。如果你想让每一列都有一个按组的生存估计,首先得到拟合,并将结果放入data.frame中。然后对结果进行扩散。如果将time ~strata切换为strata ~ time,则药物将显示在列中,而不是列名称中。

library(survival)
library(data.table)
library(dplyr)
fit1 <- survfit(Surv(time,status)~sex,data = lung)
#get time point estimates
#just example time points for my data
#replace times with times = c(1,5,10)
sum_fit1 <- summary(fit1, times = c(150,365,800))
#put into dataframe and pull out relevant information
fit1_df <- data.frame(sum_fit1[c(2:6,8:11)],stringsAsFactors = FALSE) %>% 
#change the strata column to make it more readable      
mutate(strata = ifelse(strata == "sex=1", "Male","Females"))
#transpose data and columns you want in summary table
fit1_df2 <- dcast(
setDT(fit1_df)
, time ~ strata
, value.var = c("n.risk"
,"n.event", "surv","std.err","lower","upper")) 

最新更新