1. 安裝和加載包
繪制Kaplan-Meier生存曲線需要用到的R包:survminer和survival。
library(survminer) # 加載包
library(survival) # 加載包
2 擬合曲線
R中使用survfit()函數(shù)來擬合生存曲線。
fit.3<-survfit(Surv(住院天數(shù)+病程,組別)~cd1656,data=data)
3. 繪制曲線函數(shù)
ggsurvplot(fit, data = NULL, fun = NULL, color = NULL,
? ? ? ? ? palette = NULL, linetype = 1, conf.int = FALSE,
? ? ? ? ? pval = FALSE, pval.method = FALSE,
? ? ? ? ? test.for.trend = FALSE, surv.median.line = "none",
? ? ? ? ? risk.table = FALSE, cumevents = FALSE,
? ? ? ? ? cumcensor = FALSE, tables.height = 0.25,
? ? ? ? ? group.by = NULL, facet.by = NULL, add.all = FALSE,
? ? ? ? ? combine = FALSE, ggtheme = theme_survminer(),
? ? ? ? ? tables.theme = ggtheme, ...)
# 參數(shù)解釋
fit # 擬合的生存曲線對象
data # 用來擬合生存曲線的數(shù)據(jù)集
fun? # 常用三個字符參數(shù);
# "event"繪制累積事件(f(y)=1-y),
# "cumhaz"繪制累積危害函數(shù)(f(y)=-log(y));
# "pct"繪制生存概率(百分比)。
color # 設(shè)置生存曲線的顏色。
# 如果只有1條曲線,則直接設(shè)置color="blue";
# 如果有多條曲線,默認color="strata",按分組為生存曲線著色;
# 也可以自定義調(diào)色板來設(shè)置曲線顏色。
palette # 調(diào)色板,默認"hue"。
# 可選調(diào)色板有"grey","npg","aaas","lancet",
# "jco", "ucscgb","uchicago","simpsons"和"rickandmorty".
linetype = 1 # 設(shè)置曲線線型??梢园?strata"設(shè)置線型;
# 或按數(shù)字向量c(1, 2)或按字符向量c("solid", "dashed")設(shè)置
conf.int # 邏輯詞;默認FASLE;為TRUE則繪制曲線置信區(qū)間
pval = FALSE # 邏輯詞;為TRUE則將統(tǒng)計檢驗計算的p值添加到圖上;
# 為數(shù)字,則直接指定P值大小,如pval = 0.03;
# 為字符串,則添加字符串到圖上,如pval = "p-value: 0.031"
pval.method? # 邏輯詞,是否添加計算p值的統(tǒng)計方法的文本;
# 只有當(dāng) pval = TRUE時, 才會在圖上添加檢驗方法文本
test.for.trend # 邏輯詞,默認為FALSE;
# 為TRUE則返回趨勢p值的檢驗,趨勢檢驗旨在檢驗生存曲線的有序差異
surv.median.line # 在中位生存時間點處繪制水平或垂直線的字符向量;
# 可用值有"none"、"hv"、"h"、"v";其中v繪制垂直線,h繪制水平線。
risk.table = FALSE? # 邏輯詞,圖上是否添加風(fēng)險表;
# "absolute" 顯示處于風(fēng)險中的絕對數(shù)量;
# "percentage" 顯示處于風(fēng)險中的百分比數(shù)量
# "abs_pct" 顯示處于風(fēng)險中的絕對數(shù)量和百分比
cumevents # 邏輯詞,是否添加累計事件表
cumcensor # 邏輯詞,是否添加累計刪失表
tables.height = 0.25 # 生存曲線圖下所有生存表的高度,數(shù)值0-1之間
group.by? # 包含分組變量名稱的字符向量,向量長度≤2
facet.by # 字符向量,指定繪制分面生存曲線的分組變量(應(yīng)≤2)的名稱
ggtheme=theme_survminer() # 設(shè)置ggplot2主題,如theme_bw()
tables.theme # 作用于生存表的ggplot2主題名稱
# 有theme_survminer、theme_cleantable()
add.all = FALSE # 邏輯詞;是否添加總患者生存曲線到主生存圖中
