手机版 客户端

利用R软件进行COX回归calibration curve的做法

利用R软件进行COX回归calibration curve的做法

  曾记否,咱们一起讨论过calibration curve,也就是校准曲线,校准曲线其实是实际发生率和预测发生率的散点图。还记得Logistic回归的calibration curve怎么做吗?链接在此。预测模型好不好,看看校正曲线就知道

  文章一出,有小伙伴发来贺电,同时催写COX回归calibration curve的做法,时隔半年,小编终于补上这一篇了。

  今天用的还是R软件,我们先来认识下所用的示例数据。数据命名为dtSurv,包含8个变量,我们所用到的主要是:生存时间—survTime、事件状态—status、以及自变量x1、x2和grp。

  首先,我们需要安装rms包,这个包也可用来做列线图。小编在使用过程中发现install.packages("rms")在安装程序包时会报错,这个时候,大家可直接在R界面手动安装。通过程序包—安装程序包—选择中国镜像—选择所需程序包。

  在程序包安装之后:

  library(rms)##加载程序包

  s<-Surv(dtSurv$survTime,dtSurv$status,type="right")##申明为生存分析的数据,涂黄部分为生存时间,涂绿部分为事件发生与否。其中dtSurv是数据的名称,通过$美元符号连接相应的变量名。大家需要更改涂颜色的部分。

  f <- cph(s~grp+x1+x2, x=TRUE, y=TRUE,surv = TRUE,time.inc=5,data=dtSurv)##拟合COX回归模型,大家需要更改涂颜色的部分,grp+x1+x2为相应的自变量,time.inc表示计算多长时间的生存率,data需要等于数据的名称。

  cal<-calibrate(f,u=5,cmethod='KM',m=100)##这里的u应和time.inc保持一致。关于m,一般为50、100,和总样本量有关,calibration curve中,数据点的数目=总样本量n/m。dtSurv共计500人,m设为100,calibration curve应有数据点5个,待会可以验证下。

  plot(cal,xlim = c(0,1),ylim= c(0,1),

  errbar.col=c(rgb(0,0,0,maxColorValue=255)),col=c(rgb(255,0,0,maxColorValue=255)))##绘图的参数,xlim和ylim限定x和y轴的区间。errbar.col定义误差线的颜色,col定义校准曲线的颜色,颜色可参考rgb调色进行调整。

  abline(0,1,lty=3,lwd=2,col=c(rgb(0,0,255,maxColorValue= 255)))##添加y=x并设置线型、粗细、颜色。最后绘制的calibration curve如下。

  library(rms)

  s<-Surv(dtSurv$survTime,dtSurv$status,type="right")

  f <- cph(s~grp+x1+x2, x=TRUE, y=TRUE,surv = TRUE,time.inc=5,data=dtSurv)

  cal<-calibrate(f,u=5,cmethod='KM',m=100)

  plot(cal,xlim = c(0,1),ylim= c(0,1),

  errbar.col=c(rgb(0,0,0,maxColorValue=255)),col=c(rgb(255,0,0,maxColorValue= 255)))

  abline(0,1,lty =3,lwd=2,col=c(rgb(0,0,255,maxColorValue= 255)))

参考标签

声明:本文转载仅出于学习和传播信息所需,并不意味着代表本站观点或证实其内容的真实性;其他网站或个人转载使用须保留本站所注“来源”,并自负相关法律责任;如作者不希望被转载或其他事宜,请及时联系我们!