很多时候,在用中位数/均数、四分位数等特殊位置为截点时,生存分析往往没有差异。这个时候常常需要找到一个最佳截点使得生存分析有差异。常用的选取生存分析的最佳截断有很多种方法,如X-tile软件、R的CatPredi包、cutoff包。今天给大家介绍的是survminer 包的surv_cutpoint()函数。

载入示例数据

# 0. Load some data
library(survival)
library(survminer)
data(myeloma)
head(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.1CRIM1 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) #查看数据最佳截断点及统计量
> 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
# 以DEPDC1为例
plot(res.cut, "DEPDC1", palette = "npg")

根据截点分类数据

# 3. Categorize variables
res.cat <- surv_categorize(res.cut)
head(res.cat)
> 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

绘制生存曲线

fit <- survfit(Surv(time, event) ~DEPDC1, data = res.cat)#拟合生存分析
#绘制生存曲线并显示P值
ggsurvplot(fit,data = res.cat,risk.table = TRUE,pval = T)

大功告成啦~

Tips:这里只是用了简单的一个生存曲线图进行示范,如果大家需要更加复杂的生存曲线,只需要更改ggsurvplot()函数的参数即可!关于生存分析本周末会在B站【木舟笔记】更新系列视频,需要的同学可以关注。

参考

surv_cutpoint: Determine the Optimal Cutpoint for Continuous Variables in survminer: Drawing Survival Curves using 'ggplot2' (rdrr.io)


为爱发电不易~如果需要示例数据及代码(当然其实文中都已经写的很详细了)的同学,点赞&打赏任意金额,并在主页添加本人微信发送截图即可。

QA | R做生存分析如何取最佳cutoff(截断)相关推荐

  1. R语言生存分析的实现

    生存分析是临床常用统计方法,一旦和时间扯上关系,分析就变得复杂多了,此时不再是单一的因变量,还需要考虑时间给因变量和自变量带来的各种影响. 本次主要演示R语言做生存分析的一些方法.比如寿命表.K-M曲 ...

  2. TCGA里面的任意基因做生存分析 批量生存分析

    欢迎关注 在刚刚进入生信领域的时候,我想做的事情就是三个, 第一,知道任何我想研究的基因在组织中的表达情况, 第二,我选的基因对肿瘤的生存有无影响, 第三,这个基因可能的作用是什么? 这是来自临床医生 ...

  3. python做生存分析

    这里跟大家分享一下生存分析,并且介绍一个用python做生存分析的包. 生存分析 应用场景 生存分析最早在生物医学中使用的最多,用来预估某个群体的存活时间,后来被推广到了更广泛的领域.一个做生物的专家 ...

  4. R语言生存分析之COX比例风险模型构建及列线图(nomogram)、校准曲线(calibration curve)绘制示例

    R语言生存分析之COX比例风险模型构建及列线图(nomogram).校准曲线(calibration curve)绘制示例 列线图(Alignment Diagram),又称诺莫图(Nomogram图 ...

  5. R语言生存分析(survival analysis)与生存资料有关的概念详解

    R语言生存分析(survival analysis)与生存资料有关的概念详解 目录 R语言生存分析(survival analysis)与生存资料有关的概念详解 #生存分析

  6. R语言生存分析寿命表(life table)实战案例:比较两种药物治疗感染患者的生存时间

    R语言生存分析寿命表(life table)实战案例:比较两种药物治疗感染患者的生存时间 目录

  7. R语言生存分析COX回归分析实战:以乳腺癌数据为例

    R语言生存分析COX回归分析实战:以乳腺癌数据为例 目录

  8. R语言生存分析Log-rank假设检验组间生存曲线比较实战

    R语言生存分析Log-rank假设检验组间生存曲线比较实战 目录 R语言生存分析Log-rank假设检验组间生存曲线比较实战 #log-rank检验

  9. R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况

    R语言生存分析COX回归分析实战:两种治疗方法发生肾功能损害的情况 目录

  10. R语言生存分析COX回归分析实战:放疗是否会延长胰脏癌症患者的生存时间

    R语言生存分析COX回归分析实战:放疗是否会延长胰脏癌症患者的生存时间 目录

最新文章

  1. java classname.this_java 中 类名.this与类名.class
  2. Asp.Net Web Api 2 实现多文件打包并下载文件示例源码
  3. ios 发送请求时按home_iOS 10按下Home键能即响应返回桌面了
  4. zend optimizer php5.5,PHP_PHP5.3以上版本安装ZendOptimizer扩展,现在很多PHP程序都需要ZendOptimi - phpStudy...
  5. RTX5 | STM32H743+CubeMX+RTX5+两路FDCAN驱动+CANopen协议
  6. 完全清除一个带包的项目文件的方法
  7. 多场景下MySQL临时表的作用
  8. (2)评价算法-TOPSIS算法
  9. 使用宝塔控制面板建站时出现网页出现404错误怎么办?
  10. confly MySQL_MYSQL的操作类(已封装)
  11. eclipse加载jdbc驱动(mysql)
  12. 计算机需要无线网卡进行网络连,usb无线网卡怎么用详细步骤
  13. 跟华为云一起,做未来城市的解谜人
  14. 蒟蒻朱的 CSP2020 J/S 游记
  15. Linux三剑客练习
  16. echarts图标的文字(label)动态切换显示隐藏
  17. iOS最新吊炸天的资源
  18. 第一性原理计算筛选本征二维磁性材料
  19. 婴幼儿呼吸道感染和发烧
  20. PHP中css中文意思是,css中font-family是什么意思

热门文章

  1. 第19届亚太零售商大会 | 奇点云CEO行在受邀出席发表演讲
  2. Win10怎么进Bios Win10系统进入BIOS界面的方法图文详解
  3. 人工智能,机器学习, 深度学习框架图
  4. web第四天(使用CSS变换效果、过度效果、动画)
  5. ​给想闷声发财的小伙伴35条忠告
  6. 什么是词频?词频的原理是什么?
  7. 笔记本计算机的清洁保养知识,笔记本电脑怎么清洁卫生 笔记本清理灰尘要注意什么...
  8. win10的mysql密码忘记了怎么办_win10忘记mysql密码怎么办
  9. NDT 公式推导及源码解析(1)
  10. STM32F103_study67_The punctual atoms(STM32 OLED display experiment)