欢迎大家关注我的公众号:一只勤奋的科研喵
文章来源:R语言| 连续变量取cutoff值:基于KM曲线
相关链接 ↓↓↓↓↓
1. R语言| 连续变量取最佳cutoff值: 基于ROC曲线
2.R语言| 连续变量取最佳cutoff值: 基于限制性立方样条(RCS)
library(survival)
library(survminer)
#清理运行环境
rm(list = ls())
#数据来自survminer包自带数据集:myeloma。
#读入该数据集
data(myeloma)
#查看该数据变量及性质
str(myeloma)
一、确定基因表达量的最佳cutoff值
cutoff<-surv_cutpoint(myeloma, #数据集
time="time",#“ ”里写数据集时间变量
event="event",##“ ”里数据集结局变量名称
variables=c("DEPDC1","WHSC1", #6个基因表达量
"CRIM1","IRF4",
"TP53","WHSC1")
);summary(cutoff) #输出结果
二、可视化某基因表达水平的cutoff值
plot(cutoff,
"DEPDC1",
palette = "lancet") #使用柳叶刀配色
三、将连续变量按照上述截断值分组
groups<-surv_categorize(cutoff)
str(groups)
head(groups)
此时,基因表达量已转为分类变量
四、绘制KM曲线
注意,要用转为分类变量的数据,data=groups
fit <- survfit(Surv(time, event)~DEPDC1, data=groups)#生存分析函数
ggsurvplot(fit,
data = groups, #使用转为分类的数据集
pval=TRUE, #显示p值
pval.method=TRUE, #显示p值的评估方法
palette = "lancet",#使用柳叶刀配色
risk.table = TRUE, #显示风险表
conf.int = TRUE) #显示CI