R语言制作可发表的生存曲线

2020-07-28 15:14:06 浏览数 (2)

生存分析大家应该都很熟悉,并且在医学领域应用也很广泛,那么如何做一个漂亮的生存曲线却是让人头疼的事情。今天就给大家分享一个可以直接拿来放入文章的生存曲线绘制的R包survminer。

首先,我们看下其安装及依赖包,我们需要安装下面两个包:

代码语言:javascript复制
Install.packages(“survminer”)
Install.packages(“survival”)

接下来我们看下此包的使用,包中主要的核心函数是ggsurvplot。

其中主要的参数:

Fit就是从survival包中计算出来的对象。

Data 如果是使用fit中的数据可以不提供此参数值。

Pval /pval.method一个逻辑值指是否显示P值或者P值的计算方法。

log.rank.weights 主要是选择P的计算方法。默认是1,指的Log-rank方法。其它还包括以下:

pval.method.coord 指的Pval.Method的坐标位置(x,y)

Linetype 主要是用了设置生存曲线的样式包括(1,2)或者("solid","dashed")

conf.int 指是否绘制置信区间。

Risk.table 指的是展示每个时间点的数据,可以说百分比也可以是数量,具体的参数设置:

Cumevents/cumcensor 指展示事件数据或者缺失值。

surv.plot.height/risk.table.height 指的生存曲线和表的高度,默认值0.75/0.25。

还有很多细节的参数可以设置,我们就不一一介绍了。直接看下实例:

.

代码语言:javascript复制
library("survival")
fit<- survfit(Surv(time, status) ~ sex,data = lung)
 
# Drawing survival curves
ggsurvplot(fit, data = lung)
代码语言:javascript复制
#自定义文字属性
ggsurvplot(fit, data = lung,
  title = "Survival curves", subtitle = "Based onKaplan-Meier estimates",
  caption = "created with survminer",
  font.title = c(16, "bold", "darkblue"),
  font.subtitle = c(15, "bold.italic", "purple"),
  font.caption = c(14, "plain", "orange"),
   font.x= c(14, "bold.italic", "red"),
  font.y = c(14, "bold.italic", "darkred"),
  font.tickslab = c(12, "plain", "darkgreen"))
代码语言:javascript复制
#显示风险表格,所谓风险表指的是在每个时间点生存的数量/比例
ggsurvplot(fit, data = lung, risk.table =TRUE)
代码语言:javascript复制
#自定义表格的属性
ggsurvplot(fit, data = lung,
  ########## risk table #########,
  risk.table = TRUE,
  risk.table.title = "Note the risk set sizes",
  risk.table.subtitle = "and remember about censoring.",
  risk.table.caption = "source code: website.com",
  risk.table.height = 0.45)
代码语言:javascript复制
#删失值得绘制
ggsurvplot(fit, data = lung, risk.table =TRUE, ncensor.plot = TRUE)
代码语言:javascript复制
#自定义ncensor plot
ggsurvplot(fit, data = lung,
ncensor.plot = TRUE,
  ncensor.plot.title = "Number of censorings",
  ncensor.plot.subtitle = "over the time.",
  ncensor.plot.caption = "data available at data.com",
  ncensor.plot.height = 0.35)
代码语言:javascript复制
#差异分析P值及方法的显示
ggsurvplot(fit, data = lung, pval = TRUE,pval.method = TRUE)
代码语言:javascript复制
#自定义P值及方法的展示位置大小
ggsurvplot(fit, data = lung, pval = TRUE,pval.method = TRUE,
          log.rank.weights = "sqrtN", pval.method.coord = c(3, 0.1),
          pval.method.size = 4)

0 人点赞