0

这是 R 中的代码,它为按阶段细分的人口生成总体生存的 Kaplan-Meier 图。

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)

icccdata = read_excel("ICCC_All_20072016.xls")
head(icccdata)
km <- with(icccdata, Surv(Time, Status))

# STAGE specific OVERALL SURVIVAL
survival_object2 <- Surv(icccdata$Time, icccdata$CancerSurvival)
str(survival_object2)
my_survfit_STAGE_OS <- survfit(survival_object2 ~ Stage, data = icccdata)
print(my_survfit_STAGE_OS, print.rmean = TRUE)
dat_my_survfit_STAGE_OS <- fortify(my_survfit_STAGE_OS)
ggsurvplot(my_survfit_STAGE_OS, risk.table = TRUE, xlab = "Time (years)", censor = T)

阶段数据由值 0、I、II、III、IV 组成。

我希望能够只显示阶段 I 的值,而不显示阶段 0、II、III 或 IV。我很感激对代码的帮助,以分离出一个子组。

一个

4

1 回答 1

0

我建议您自己构建ggplot()而不是使用ggsurvplot(). 这可以通过使用包中surv_summary()的来完成。survminer这也是ggsurvplot()幕后使用的东西。

例如:

df <- surv_summary(my_survfit_STAGE_OS)
df %>% filter(Stage == "I") %>% 
       ggplot(aes(x = time, y = surv, col = Stage)) + 
       geom_step()

如果你想绘制第一阶段和第二阶段,你可以使用%in%

df %>% filter(Stage %in% c("I", "II")) %>% ggplot(....)

ggsurvplot()数据框中,从surv_summary()被传递到ggsurvplot_df()然后ggplot()根据用户选项使用创建。在此处查看 R 源代码: https ://github.com/kassambara/survminer/blob/master/R/ggsurvplot_df.R

如果您想要一个有风险的表,可以使用ggrisktable()

于 2022-02-15T13:05:50.700 回答