用survminer优雅的画生存曲线

生存曲线绘制

#Survival Curves
#The ggsurvplot() function creates ggplot2 plots from survfit objects.
data(lung)
head(lung)
  inst time status age sex ph.ecog ph.karno pat.karno meal.cal wt.loss
1    3  306      2  74   1       1       90       100     1175      NA
2    3  455      2  68   1       0       90        90     1225      15
3    3 1010      1  56   1       0       90        90       NA      15
4    5  210      2  57   1       1       90        60     1150      11
5    1  883      2  60   1       0      100        90       NA       0
6   12 1022      1  74   1       1       50        80      513       0

table
  • 6
    点赞
  • 64
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
以下是R语言代码,可以利用for循环基因矩阵的KM生存曲线并输出保存: ```R # 加载所需的库 library(survival) library(survminer) # 创建一个基因矩阵 gene_matrix <- matrix(rnorm(100), ncol = 10) # 创建一个生存数据 surv_data <- data.frame( time = runif(10, 0, 100), status = sample(c(0, 1), 10, replace = TRUE) ) # 创建一个基因列表 gene_list <- colnames(gene_matrix) # 创建一个空的列表,用于保存生存曲线的数据 surv_curve_list <- list() # 循环遍历基因列表 for(gene in gene_list) { # 提取当前基因的表达数据 gene_expression <- gene_matrix[, gene] # 合并基因表达数据和生存数据 data <- data.frame(gene_expression, surv_data) # 创建适当的对象 surv_object <- Surv(data$time, data$status) # 创建 KM生存曲线 p <- ggsurvplot( survfit(surv_object ~ gene_expression, data = data), data = data, risk.table = TRUE, pval = TRUE, ggtheme = theme_classic(), xlab = "Time", ylab = "Survival probability", legend.title = "Gene expression", legend.labs = c("Low", "High"), legend.position = "right" ) # 将生存曲线数据保存到列表中 surv_curve_list[[gene]] <- list( x = p$surv$plot_data$time, y = p$surv$plot_data$surv, upper = p$surv$plot_data$upper, lower = p$surv$plot_data$lower ) # 输出生存曲线 print(p) # 保存生存曲线为PDF文件 ggsave( paste0(gene, "_survival_curve.pdf"), plot = p$plot, device = "pdf", width = 8, height = 6 ) } ``` 这段代码将会循环遍历基因列表,提取每个基因的表达数据,并且用survminer包中的ggsurvplot函数出基因表达与生存之间的KM生存曲线。对于每个基因,生存曲线数据将会保存到一个列表中,并且将会输出生存曲线和保存到PDF文件中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值