首先,我们看下其安装及依赖包,我们需要安装下面两个包:
代码语言: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)