用R确定最适的Cut-off值

除了用X-tile以外,还可以用R确定最适Cut-off值,数据准备如下:

 数据存成csv格式。

下面运行代码:


setwd("E:\\最适Cut-off值筛选")
dir()
data <- read.csv("Cut_off.csv",header = T,sep = ",")
head(data)


# > head(data)
#               id futime fustat      NNMT
#1 TCGA.3Z.A93Z.01    385      0 10.908259
#2 TCGA.6D.AA2E.01    362      0  7.212290
#3 TCGA.A3.3306.01   1120      0 10.814406
#4 TCGA.A3.3307.01   1436      0 10.216313
#5 TCGA.A3.3308.01     16      0  9.110011
#6 TCGA.A3.3311.01   1191      1  9.417845

library(survminer)
res.cut <- surv_cutpoint(data, #数据集
                         time = "futime", #生存状态
                         event = "fustat", #生存时间
                         variables = c("NNMT") #需要计算的数据列名
)

summary(res.cut)


# > summary(res.cut)
#     cutpoint statistic
#NNMT 10.25023  2.711016

最适cut-off值为10.25023

下面绘制生存曲线:


data$TIMP1 <- ifelse(data$NNMT>10.25023,"High NNMT expression","Low NNMT expression")
library(survival)
library(coin)
library(survminer)
fit <- survfit(Surv(futime,fustat)~TIMP1,data=data)
fit
head(data)

d <- ggsurvplot_list(fit,data = data,pval = T,conf.int = T,
                     risk.table = T, # Add risk table
                     risk.table.col = "strata", # Change risk table color by groups
                     ###linetype = "strata", # Change line type by groups
                     ##surv.median.line = "hv", # Specify median survival
                     # 定义表格abs表示O绝对值,pct表示占比 absolute number and percentage at risk.
                     risk.table.y.text.col = F,# 设置为T表示在表格的左边是否显示颜色。colour risk table text annotations.
                     risk.table.y.text = F,# 设置为FALSE表示在颜色的上边是否显示文字,即“Male”和“Female”。 show bars instead of names in text annotations
                     # in legend of risk table.
                     ggtheme = theme_bw()+theme(legend.text = element_text(colour = c("red","blue")))
                     +theme(panel.grid.major = element_blank(),panel.grid.minor = element_blank())
                     +theme(plot.title = element_text(hjust = 0.5,size = 16,face = "bold"),
                            axis.title.y.left = element_text(size = 16,face = "bold",vjust = 1),
                            axis.title.x.bottom = element_text(size = 16,face = "bold",vjust = 0))
                     +theme(axis.text.x.bottom = element_text(size = 12,face = "bold",vjust = -0.8,colour = "black"))
                     +theme(axis.text.y.left = element_text(size = 12,face = "bold",vjust = 0.5,hjust = 0.5,
                                                            angle = 90,colour = "black"))
                     +theme(legend.title = element_text(face = "bold",family = "Times",colour = "black",size = 12))
                     +theme(legend.text = element_text(face = "bold",family = "Times",colour = "black",size =12)), # Change ggplot2 theme
                     palette = c("red3", "dodgerblue3"),xlim=c(0,5000),xlab = "Days",
                     legend.labs = c("High NNMT expression","Low NNMT expression"))

d

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

楷然教你学生信

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值