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

大功告成啦~


相关文章
|
8月前
|
XML 存储 数据处理
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)
|
8月前
GEE图表——GEE绘制图表,设定双纵坐标图形以NDVI和RVI为例
GEE图表——GEE绘制图表,设定双纵坐标图形以NDVI和RVI为例
104 0
|
8月前
|
Python
Pandas和pyecharts绘制某天多省区连续确诊病例无新增天数的玫瑰图实战(附源码)
Pandas和pyecharts绘制某天多省区连续确诊病例无新增天数的玫瑰图实战(附源码)
130 0
|
3月前
|
计算机视觉 Python
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
这篇文章介绍了如何使用Python的OpenCV库将多张图片合并为一张图片显示,以及如何使用matplotlib库从不同txt文档中读取数据并绘制多条折线图。
61 3
Python实用记录(九):将不同的图绘制在一起、将不同txt文档中的数据绘制多条折线图
|
3月前
|
数据可视化 Python
Matplotlab可视化学习笔记(三):如何根据不同的txt文档绘制多条折线图
这篇文章是关于如何使用Python的matplotlib库根据多个txt文档中的数据绘制多条折线图的教程。
44 0
|
8月前
|
前端开发 数据可视化 算法
r语言Bootstrap自助法重采样构建统计量T抽样分布近似值可视化|代码分享
r语言Bootstrap自助法重采样构建统计量T抽样分布近似值可视化|代码分享
|
8月前
|
数据可视化 Python
Seaborn中的时间序列图:展示数据随时间的变化趋势
【4月更文挑战第17天】使用Seaborn创建时间序列图可展现数据随时间变化的趋势。首先,确保数据集包含日期时间格式的时间戳字段。借助Pandas处理数据,然后使用Seaborn的`lineplot`创建基本图表。通过`line_kws`自定义线条样式,添加标题和轴标签以增强可视化。结合Pandas的`rolling`计算滚动平均值,`resample`进行数据重采样,或使用Statsmodels进行时间序列分析和预测,从而提升图表功能和分析深度。有效定制图表有助于更好地理解和传达数据趋势。
|
8月前
|
编解码 数据可视化
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
|
8月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
100 0
|
数据挖掘
跟着 Cell 学作图 | 分组抖动散点图+差异分析
跟着 Cell 学作图 | 分组抖动散点图+差异分析
129 0