Pon*_*erg 6 r survival-analysis survival survminer
library(survival)
library(survminer)
Run Code Online (Sandbox Code Playgroud)
我正在使用 survminer 包来绘制未经调整的 Kaplan Meier 图。我正在计算比较不同暴露的死亡率,并且有一个非常具体的问题: 有没有办法更改 ggsurvplot 的 x 轴标签?就我而言,我想将时间点 0 替换为 30,将时间点 20 替换为 50,将时间点 40 替换为 70,将时间点 60 替换为 90。
我使用下面的代码创建 ggsurvplot:
fit31to90_Mortality <- survfit(msurv31to90DayMortality~Bacteria_Category, data =
Mortality_31to90_Days_Plot <-
ggsurvplot(fit31to90_Mortality, xlim = c(0,60),
break.x.by = 20, xlab = "Day", ylab = c("Survival probability"),
risk.table = "abs_pct", font.x = c(26, face = "bold"),
font.y = c(26, face = "bold"), font.tickslab = c(24),
font.legend = c(24), risk.table.fontsize = 7, risk.table.col = "black", size = 1)
Mortality_31to90_Days_Plot$plot
Run Code Online (Sandbox Code Playgroud)
您可以通过添加scale_x_continuous对绘图对象的调用来更改 x 标签。
由于您没有提供可重现的数据,让我们使用包文档中的示例图:
tdata <- data.frame(time =c(1,1,1,2,2,2,3,3,3,4,4,4),
status=rep(c(1,0,2),4),
n=c(12,3,2,6,2,4,2,0,2,3,3,5))
fit <- survfit(Surv(time, time, status, type='interval') ~1,
data=tdata, weight=n)
myplot <- ggsurvplot(fit, xlim = c(0,60),
break.x.by = 20, xlab = "Day", ylab = c("Survival probability"),
risk.table = "abs_pct", font.x = c(26, face = "bold"),
font.y = c(26, face = "bold"), font.tickslab = c(24),
font.legend = c(24), risk.table.fontsize = 7, risk.table.col = "black", size = 1)
Run Code Online (Sandbox Code Playgroud)
现在您可以$plot使用具有新的连续 x 轴的副本重新分配:
myplot$plot <- myplot$plot +
scale_x_continuous(breaks = c(0,20,40,60),
labels = c(30,50,70,90))
myplot$plot
Run Code Online (Sandbox Code Playgroud)