2017-04-14 68 views
1

如果我们使用下面的生存资料...如何将survfit输出作为.csv表导出?

library(survival) 
data(pbc) 

#model to be plotted and analyzed, convert time to years 
fit <- survfit(Surv(time/365.25, status) ~ edema, data = pbc) 

#visualize overall survival Kaplan-Meier curve 
plot(fit) 

...并进一步以这种方式,在1,2,3年存活率计算:

>  summary(fit,times=c(1,2,3)) 

...的输出是这样的:

Call: survfit(formula = Surv(time/365.25, status) ~ edema, data = pbc) 

232 observations deleted due to missingness 
       edema=0 
time n.risk n.event survival std.err lower 95% CI upper 95% CI 
    1 126  12 0.913 0.0240  0.867  0.961 
    2 112  12 0.825 0.0325  0.764  0.891 
    3  80  26 0.627 0.0420  0.550  0.714 

       edema=0.5 
time n.risk n.event survival std.err lower 95% CI upper 95% CI 
    1  22  7 0.759 0.0795  0.618  0.932 
    2  17  5 0.586 0.0915  0.432  0.796 
    3  11  4 0.448 0.0923  0.299  0.671 

       edema=1 
time n.risk n.event survival std.err lower 95% CI upper 95% CI 
    1  8  11 0.421 0.1133  0.2485  0.713 
    2  5  3 0.263 0.1010  0.1240  0.558 
    3  3  2 0.158 0.0837  0.0559  0.446 

如何将上述文件导出为'.csv'文件?

回答

3

您可以从summary对象中提取所需的元素。将其转换为数据框并另存为csv。

res <- summary(fit,times=c(1,2,3)) 
save.df <- as.data.frame(res[c("strata", "time", "n.risk", "n.event", "surv", "std.err", "lower", "upper")]) 
write.csv(save.df, file = "./file.csv")