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

大功告成啦~


相关文章
|
4月前
|
Python
Pandas和pyecharts绘制某天多省区连续确诊病例无新增天数的玫瑰图实战(附源码)
Pandas和pyecharts绘制某天多省区连续确诊病例无新增天数的玫瑰图实战(附源码)
49 0
|
10天前
|
编解码 数据可视化
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
R语言动态可视化:绘制历史全球平均温度的累积动态折线图动画gif视频图
20 0
|
9天前
|
数据可视化 Python
Seaborn中的时间序列图:展示数据随时间的变化趋势
【4月更文挑战第17天】使用Seaborn创建时间序列图可展现数据随时间变化的趋势。首先,确保数据集包含日期时间格式的时间戳字段。借助Pandas处理数据,然后使用Seaborn的`lineplot`创建基本图表。通过`line_kws`自定义线条样式,添加标题和轴标签以增强可视化。结合Pandas的`rolling`计算滚动平均值,`resample`进行数据重采样,或使用Statsmodels进行时间序列分析和预测,从而提升图表功能和分析深度。有效定制图表有助于更好地理解和传达数据趋势。
|
10天前
|
并行计算 前端开发 数据可视化
面板平滑转换回归(PSTR)分析案例实现
面板平滑转换回归(PSTR)分析案例实现
12 0
|
2月前
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
GEE图表——趋势线图表的加载和展示包含纵坐标间隔的设定(以某区域年均降水总量为例)
33 0
|
2月前
|
数据可视化
GEE错误——影像加载过程中出现的图层无法展示的解决方案
GEE错误——影像加载过程中出现的图层无法展示的解决方案
30 0
|
4月前
|
定位技术 Python
Python中GDAL批量绘制多时相栅格遥感影像的像元时间序列曲线图
Python中GDAL批量绘制多时相栅格遥感影像的像元时间序列曲线图
|
4月前
|
数据可视化
Visio绘制时间轴、日程安排图、时间进度图的方法
Visio绘制时间轴、日程安排图、时间进度图的方法
104 1
|
8月前
|
数据可视化 数据挖掘 Linux
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改
科研绘图丨使用R语言Pheatmap包快速绘制基因表达量热图的方法,支持聚类和配色自定义修改
|
9月前
|
存储 JSON 数据可视化
ChatGPT工作提效之数据可视化大屏组件Echarts的实战方案(大数据量加载、伪3D饼图、地图各省cp中心坐标属性、map3D材质)
ChatGPT工作提效之数据可视化大屏组件Echarts的实战方案(大数据量加载、伪3D饼图、地图各省cp中心坐标属性、map3D材质)
459 0