Q&A | 如何用R批量绘制并导出生存曲线图

简介: Q&A | 如何用R批量绘制并导出生存曲线图

生存分析


关于如何在R中进行生存分析的问题,在前面的推文中已经详细的介绍过。详见:survminer | 生存分析及其可视化ggsurvplot()生成的结果。很多同学直接使用ggsave()会产生报错。还有一个问题就是当你有好多个基因/临床参数等时,如何批量的进行生存分析。今天这篇推文就详细的给大家讲一下这两个问题。


批量绘制


数据格式


我将surviavl包里的内置数据集colon进行一定的修改作为示例数据使用。


#加载包
library("survminer")
library("survival")
#导入示例数据并查看
colon <- read.csv("colon.csv",row.names = 1)
head(colon)
> head(colon)
    study      rx sex   age obstruct
853     1     Obs   1 young        1
413     1     Obs   0 young        0
140     1     Obs   0 young        1
94      1 Lev+5FU   0 young        0
580     1 Lev+5FU   0 young        0
863     1     Lev   0 young        0
    perfor adhere surg gene1 gene2
853      0      1    0   Low   Low
413      0      0    1   Low   Low
140      0      0    0  High   Low
94       0      1    1  High   Low
580      0      0    0   Low   Low
863      0      0    0   Low   Low
    status time
853      1  612
413      0 2234
140      0 2826
94       0 2869
580      0 1421
863      1 1325

对sex~gene2的所有变量进行生存分析

# 要做生成分析的所有变量
genes <- names(colon)[3:10]
genes
# 循环并保存图片
for (i in genes){
  print(i)
  fit <- survfit(Surv( time,status) ~ colon[,i], colon)
  p <- ggsurvplot(fit, linetype = "strata",
                  pval = TRUE,
                  palette = "Dark2",
                  legend.labs =c(paste0(i, "=H"), paste0(i, "=L")))
  pdf(paste0(i, "_surv.pdf"),width = 5, height = 5)
  print(p, newpage = FALSE)
  dev.off()
}

查看一下结果:


image.png

输出文件


随便打开一个看看:

image.png

大功告成啦~


相关文章
|
9月前
|
Python
Pandas和pyecharts绘制某天多省区连续确诊病例无新增天数的玫瑰图实战(附源码)
Pandas和pyecharts绘制某天多省区连续确诊病例无新增天数的玫瑰图实战(附源码)
134 0
|
9月前
|
自然语言处理 数据可视化
【词云图绘制实战】——数据准备、清洗、多形式展示
【词云图绘制实战】——数据准备、清洗、多形式展示
|
9月前
|
数据可视化 Python
Seaborn中的时间序列图:展示数据随时间的变化趋势
【4月更文挑战第17天】使用Seaborn创建时间序列图可展现数据随时间变化的趋势。首先,确保数据集包含日期时间格式的时间戳字段。借助Pandas处理数据,然后使用Seaborn的`lineplot`创建基本图表。通过`line_kws`自定义线条样式,添加标题和轴标签以增强可视化。结合Pandas的`rolling`计算滚动平均值,`resample`进行数据重采样,或使用Statsmodels进行时间序列分析和预测,从而提升图表功能和分析深度。有效定制图表有助于更好地理解和传达数据趋势。
|
9月前
|
编解码 数据可视化
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
|
9月前
|
数据可视化 数据挖掘
Seaborn中的分类图:直观展示分类数据的差异
【4月更文挑战第17天】Seaborn是数据分析中的利器,尤其在展示分类数据差异方面。本文介绍了5种主要图表类型:1) 使用`barplot`创建条形图,便于比较不同分类的数值差异;2) `boxplot`生成箱线图,展示数据分布和离散程度;3) `stripplot`和`swarmplot`显示单个观测值分布,理解分类内变异性和差异;4) `scatterplot`结合`hue`参数,呈现分类在连续变量关系中的差异;5) 自定义分类图,调整样式以满足特定需求。通过这些图表,可以更深入地分析和传达分类数据的特性。
|
9月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
114 0
|
9月前
|
数据可视化
Visio绘制时间轴、日程安排图、时间进度图的方法
Visio绘制时间轴、日程安排图、时间进度图的方法
368 1
|
数据挖掘
跟着 Cell 学作图 | 分组抖动散点图+差异分析
跟着 Cell 学作图 | 分组抖动散点图+差异分析
135 0
R语言绘制组间比较散点图并自动添加P值信息
查询ggprism包使用时候发现官网给出的一示例图比较常用,这里记录学习一下。
254 3
|
数据可视化 数据挖掘 Linux
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改