You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言生存分析中提取特定亚组(Stage I)并绘制Kaplan-Meier曲线的方法

针对Stage I亚组的Kaplan-Meier生存分析代码修改方案

要只展示Stage I亚组的生存分析结果和KM曲线,核心是先筛选出仅包含Stage I的数据,再进行单组生存分析,具体修改方案如下:

关键修改点

  • 数据筛选:在读取数据后,添加代码过滤出Stage == "I"的样本(注意匹配你数据中Stage字段的格式,若为数值型则去掉引号)
  • 生存分析公式调整:因为只剩一个亚组,survfit的公式改为~1(表示单组分析),确保输出仅针对Stage I

修改后的完整代码

# 加载所需包
library(tidyverse)
library(forcats)
library(broom)
library(survival)
library(Hmisc)
library(gmodels)
library(lazyeval)
library(plotrix)
library(summariser)
library(magrittr)
library(survminer)
library(dplyr)
library(lattice)
library(Formula)
library(lubridate)
library(ggfortify)
library(readxl)

# 读取数据并筛选Stage I亚组
icccdata = read_excel("ICCC_All_20072016.xls")
# 关键:筛选仅Stage I的样本,若Stage为数值型则改为Stage == 1
icccdata_stageI <- icccdata %>% filter(Stage == "I")
head(icccdata_stageI)

# 创建生存对象
survival_object2 <- Surv(icccdata_stageI$Time, icccdata_stageI$CancerSurvival)
str(survival_object2)

# 单组生存分析(仅Stage I)
my_survfit_STAGE_OS <- survfit(survival_object2 ~ 1, data = icccdata_stageI)
# 输出生存分析结果,包含平均生存期
print(my_survfit_STAGE_OS, print.rmean = TRUE)

# 可视化KM曲线,风险表展示该亚组的风险人数变化
ggsurvplot(my_survfit_STAGE_OS, risk.table = TRUE, xlab = "Time (years)", censor = TRUE,
           main = "Overall Survival - Stage I")

补充说明

  • 如果你的Stage字段是数值类型(比如用1代表I期),请把filter(Stage == "I")修改为filter(Stage == 1)
  • 修改后运行代码,所有生存分析结果和KM曲线都会仅针对Stage I亚组,其他Stage分组的数据会被完全排除,不会出现在输出中

内容的提问来源于stack exchange,提问作者AAM

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.28 12:47:37