總述
survminer包是生物信息學中實現(xiàn)生存分析曲線繪制最常用的包,包含函數(shù)ggsurvplot(),還可使用ggplot2. ggsurvplot() 輕松繪制美觀并且格式工整的生存曲線。同時還能給出p值,風險值等參數(shù)。
下載和安裝
install.packages('survminer')
或者,也可以選擇從GitHub上安裝
if(!require(devtools)) install.packages('devtools')
devtools::install_github('kassambara/survminer')
加載安裝好的包
library('survminer')
單一組別生存曲線的繪制
#調(diào)用生存曲線中另一常用的survival包
require('survival')
#survival包自帶肺癌數(shù)據(jù)集:lung,查看數(shù)據(jù)樣式
head(lung)
#survival包中的Sruv函數(shù)可以創(chuàng)建一個生存對象
fit <- survfit(Surv(time, status) ~ 1, data = lung)
#survival包中的survfit函數(shù)用Kaplan-Meier法進行生存曲線的擬合
ggsurvplot(fit, color = '#2E9FDF')

兩組生存曲線的繪制
require('survival')
fit<- survfit(Surv(time, status) ~ sex, data = lung)
ggsurvplot(fit)

改變文字大小,字體和顏色
title = “Survival curve” | 設置標題 |
---|
font.main | 標題字體大小 | font.x | x軸標注字體大小 | font.y | y軸標注字體大小 | font.tickslab | 坐標軸數(shù)字大小 |
ggsurvplot(fit, title = 'Survival curve',
font.title = 18,
font.x = 16,
font.y = 16,
font.tickslab = 14)

-
同時改變文字大小,字體和顏色 - c([字號],[字體],[顏色])
- 括號中的任意一項可以省略,但是順序不能改變
ggsurvplot(fit, title = 'Survival curve',
font.title = c(16, 'bold', 'darkblue'),
font.x = c(14, 'bold.italic', 'red'),
font.y = c(14, 'bold.italic', 'darkred'),
font.tickslab = c(12, 'plain', 'darkgreen'))

改變圖例位置,圖例標題和圖例名稱
ggsurvplot(fit, legend = 'bottom',
legend.title = 'Sex',
legend.labs = c('Male', 'Female'))

ggsurvplot(fit, legend = c(0.2, 0.2))

改變曲線類型和顏色
ggsurvplot(fit, size = 1, # 改變曲線的尺寸
linetype = 'strata', # 改變曲線的類型
break.time.by = 250, # 更改x軸的時間間隔
palette = c('#E7B800', '#2E9FDF'), # 自定義調(diào)色板
conf.int = TRUE, # 添加置信區(qū)間
pval = TRUE # 添加p值
)

ggsurvplot(fit, linetype = 'strata',
conf.int = TRUE, pval = TRUE,
palette = 'grey')

添加風險表
ggsurvplot(fit, pval = TRUE, conf.int = TRUE,
risk.table = TRUE, risk.table.y.text.col = TRUE)

res <- ggsurvplot(fit, pval = TRUE, conf.int = TRUE,
risk.table = TRUE)
res$table <- res$table + theme(axis.line = element_blank())
res$plot <- res$plot + labs(title = 'Survival Curves')
print(res)

擴大x軸的坐標范圍
ggsurvplot(fit,
pval = TRUE, conf.int = TRUE,
risk.table = TRUE,
risk.table.col = 'strata',
ggtheme = theme_bw(), #改變ggplot2的主題(背景)
palette = 'Dark2',
xlim = c(0, 600))#選取特定的x軸坐標范圍

Transform survival curves
累積發(fā)病率圖
ggsurvplot(fit, conf.int = TRUE,
palette = c('#FF9E29', '#86AA00'),
risk.table = TRUE, risk.table.col = 'strata',
fun = 'event')

危險率函數(shù)
ggsurvplot(fit, conf.int = TRUE,
palette = c('#FF9E29', '#86AA00'),
risk.table = TRUE, risk.table.col = 'strata',
fun = 'cumhaz')

Arbitrary function
ggsurvplot(fit, conf.int = TRUE,
palette = c('#FF9E29', '#86AA00'),
risk.table = TRUE, risk.table.col = 'strata',
pval = TRUE,
fun = function(y) y*100)

多組生存曲線的繪制
ggsurvplot(fit2, pval = TRUE,
break.time.by = 800,
risk.table = TRUE,
risk.table.col = 'strata',
risk.table.height = 0.5,
ggtheme = theme_bw(),
legend.labs = c('A', 'B', 'C', 'D', 'E', 'F'))

參考網(wǎng)站和相關推薦
- survminer R package: Survival Data Analysis and Visualization
- 生存分析與R
|