本文记录了:
- 在生存分析中如何通过
survminer
包进行最佳阈值分组。
1. 查看示例数据“myeloma”
# 1. Example data: myeloma------------------------------------------------------
View(myeloma)
2. 最佳阈值分组
对变量【DEPDC1】进行最佳阈值分组(可同时确定多个变量的最佳阈值,例如variables = c("vari1", "vari2")
,此处仅展示一个变量),分组标签为【Low】和【High】,并将分组标签转变为因子。
注意:
-
surv_cutpoint()
函数中variables
参数指定的变量名不能含有空格,否则会无法分组。 - 之所以将分组标签转变为因子,是因为在R语言中cox分析的HR默认是按字母进行排序。按照字母排序时,High是第一组,Low是第二组,如果HR < 1,是指Low组相对于High组是一个保护因素。我的习惯是指定第一组和第二组。
# 2. Determine the optimal cutpoint of variables("DEPDC1") and categorize-------
res.cat <- surv_cutpoint(myeloma, time = "time", event = "event", variables = "DEPDC1") %>%
surv_categorize(labels = c("Low", "High"))
res.cat$DEPDC1 <- factor(res.cat$DEPDC1, ordered = TRUE, levels = c("Low", "High"))
3. 作生存曲线图
# 3. Fit survival curves and visualize------------------------------------------
fit <- survfit(Surv(time, event) ~ DEPDC1, data = res.cat)
ggsurvplot(fit, data = res.cat,
pval = TRUE,risk.table = TRUE)