php 算生存曲线,生存分析之生存曲线绘制

本文只涉及到生存曲线绘制,不涉及生存分析理论问题

本文采用两种方法绘制生存曲线,其实是用plot()和ggsurvplot()两种函数绘图而已

1. plot()函数绘制生存曲线

基本流程

Surv(): 用于创建生存数据对象 (主要输入生存时间和状态逻辑值)

survfit():对生存数据对象拟合生存函数,创建KM(Kaplan-Meier)生存曲线

survdiff(): 对不同组的生存率进行检验 (案例中我们是对比的是不同性别)

补充说明:

survdiff(formula, data, subset, na.action, rho=0, timefix=TRUE)

#With rho = 0 this is the log-rank or Mantel-Haenszel test,

#with rho = 1 it is equivalent to the Peto & Peto modification of the Gehan-Wilcoxon test.

plot():绘图

绘制过程如下

为了方便对应数据阅读理解,给出数据前几行(数据详细说明R中自行查看)

library(survival)

Lung

head(Lung)

f82d9ddd0a32

image.png

plot函数绘图:

#Kaplan-Meier曲线

#基本流程:Surv()、survfit()、survdiff()

#绘图用plot()

Lungsurv

Lungfit

survdiff(Lungsurv~Lung$sex, rho=0)

#绘图及美化

plot(Lungfit, conf.int = "none",

col = c('#22cc99', '#772222'), lwd = 2, mark.time=T,

xlab='Time', ylab='Survival Probability')

#下面几行代码大家在R中运行一下便知道每步代码做了什么

abline(h=0.5, lty=3)

abline(v=270, lty=3)

abline(v=426, lty=3)

legend('bottomleft', c('Male','Female'),

col=c('#22cc99', '#772222'), lwd=2)

text(900, 0.9, 'p=0.001') #这里的p值是上述survdiff()函数给出

图像效果如下:

f82d9ddd0a32

Rplot02.png

2. ggsurvplot()函数绘制生存曲线

ggsurvplot()函数属于survminer包

这里不再进行赘述,大家可以根据需求自行修改参数,绘制代码如下

library(survival)

library(survminer)

vars

Lungsurv

Lungfit

#绘图及美化,大家可以根据自己的需求调节对应参数,详见R说明

ggsurvplot(Lungfit,

data = Lung,

pval = TRUE, #加上log-rank test检验的p-value值

#conf.int = TRUE, #加上置信区间

surv.median.line = "hv",

xlab="Time (day)",

legend.title=paste(vars[5], collapse = "+"),

risk.table = TRUE,

trim.strata.names=TRUE,

risk.table.height=0.4,

palette = "Dark2",

#palette = c('#E7B800','#2E9FDF'), #别的配色

ggtheme = theme_bw(),

#ncensor.plot=TRUE #绘制数据删失情况

)

图形效果如下

f82d9ddd0a32

Rplot.png

为图像加上置信区间,图像效果如下

f82d9ddd0a32

Rplot05.png

小结:以上就是我给大家分享的生存曲线的绘制,大家可以根据喜好进行选择。敬请大家批评指正

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值