生物信息学R语言源码

KM生存分析如何取最佳的cutoff

2020-01-27  本文已影响0人  医科研

KM生存分析

如何取最佳cutoff

library(survival)
library(survminer)
## Loading required package: ggplot2
## Loading required package: ggpubr
## Loading required package: magrittr

surv_cutpoint函数

官方示例

# 0. Load some data
data(myeloma)
head(myeloma)
##          molecular_group chr1q21_status treatment event  time   CCND1
## GSM50986      Cyclin D-1       3 copies       TT2     0 69.24  9908.4
## GSM50988      Cyclin D-2       2 copies       TT2     0 66.43 16698.8
## GSM50989           MMSET       2 copies       TT2     0 66.50   294.5
## GSM50990           MMSET       3 copies       TT2     1 42.67   241.9
## GSM50991             MAF           <NA>       TT2     0 65.00   472.6
## GSM50992    Hyperdiploid       2 copies       TT2     0 65.20   664.1
##          CRIM1 DEPDC1    IRF4   TP53   WHSC1
## GSM50986 420.9  523.5 16156.5   10.0   261.9
## GSM50988  52.0   21.1 16946.2 1056.9   363.8
## GSM50989 617.9  192.9  8903.9 1762.8 10042.9
## GSM50990  11.9  184.7 11894.7  946.8  4931.0
## GSM50991  38.8  212.0  7563.1  361.4   165.0
## GSM50992  16.9  341.6 16023.4 2096.3   569.2

1. Determine the optimal cutpoint of variables

res.cut <- surv_cutpoint(myeloma, time = "time", event = "event",
   variables = c("DEPDC1", "WHSC1", "CRIM1"))

summary(res.cut)
##        cutpoint statistic
## DEPDC1    279.8  4.275452
## WHSC1    3205.6  3.361330
## CRIM1      82.3  1.968317

2. Plot cutpoint for DEPDC1

# palette = "npg" (nature publishing group), see ?ggpubr::ggpar
plot(res.cut, "DEPDC1", palette = "npg")
## $DEPDC1
image.png

3. Categorize variables

res.cat <- surv_categorize(res.cut)
head(res.cat)
##           time event DEPDC1 WHSC1 CRIM1
## GSM50986 69.24     0   high   low  high
## GSM50988 66.43     0    low   low   low
## GSM50989 66.50     0    low  high  high
## GSM50990 42.67     1    low  high   low
## GSM50991 65.00     0    low   low   low
## GSM50992 65.20     0   high   low   low

4. Fit survival curves and visualize

library("survival")
fit <- survfit(Surv(time, event) ~DEPDC1, data = res.cat)
ggsurvplot(fit, data = res.cat, risk.table = TRUE, conf.int = TRUE)
image.png

参考资料

官方文档

上一篇下一篇

猜你喜欢

热点阅读