В R Studio моя таблица рисков удаляется из моего графика выживания, когда я добавляю линию перехвата. Есть ли способ решить эту проблему?
В R Studio моя таблица рисков удаляется из моего графика выживания, когда я добавляю линию пересечения. Есть ли способ решить эту проблему? Мой исходный код, который показывает таблицу рисков:
library(readxl)
library(ggplot2)
library(survival)
library(survminer)
library(gmodels)
library(tidyverse)
demo2<-read_excel('data.xlsx',sheet=1)
#tte1=time to event 1
tte1<-read_excel("data.xlsx", sheet=1)
tte1$group<-factor(tte1$group,levels=c("C","I")) #turn group into a factor, and sets order of
levels
#Kaplan-Meier plot for event
fit1 <- survfit(Surv(Time, Event) ~ group,data = tte1)
summary(fit1)
p<-ggsurvplot(fit1, data = tte1,
risk.table = TRUE, #adds risk table
risk.table.title = "Number at risk",
risk.table.subtitle = " ",
cumcensor.title= " ",
conf.int = TRUE, #adds shading
surv.scale="percent",
censor= FALSE,
conf.int.style= 'ribbon',
legend.title= '',
legend.labs = c("Control", "Intervention"),
break.time.by=60, #adds intervals
tables.theme = theme_cleantable(), # theme for tables
tables.y.text = FALSE,
xlim=c(0,290),
surv.plot.height= 0.75,
risk.table.height=0.1
)
p+xlab("Time (days)")
Но когда я изменяю последнюю строку этого кода, чтобы добавить линию перехвата, таблица рисков внезапно исчезает. Чтобы добавить начальную строку, я изменил последнюю строку кода сp+xlab("Time (days)")
к
p$plot+geom_vline(xintercept = 186, linetype="dashed",
color = "black", size=1.0, label= "median")+
geom_text(aes(x=225, y=.20, label="Median follow-up time"), size=5, family="sans",
fontface="plain")
Кто-нибудь знает, как добавить линию перехвата без потери таблицы рисков?
Спасибо!
1 ответ
См. Воспроизводимый пример ниже:
library(survminer)
require("survival")
fit3 <- survfit( Surv(time, status) ~ sex,
data = colon )
ggsurv <- ggsurvplot(fit3, data = colon,conf.int = FALSE,
risk.table = TRUE, ggtheme = theme_bw())
ggsurv$plot+geom_vline(xintercept=1000)
# no risk table
Вы должны изменить $plot
элемент под ggsurv,
ggsurv$plot = ggsurv$plot+geom_vline(xintercept=1000)
print(ggsurv)