簡體   English   中英

為 ggsurvplot 中的 plot 和表格設置不同的 x 軸中斷(R 中的 survminer package)

[英]Set different x-axis breaks for plot and table in ggsurvplot (survminer package in R)

我可以在 ggplot 和 survminer::ggsurvplot 中設置不同的 x 軸中斷。 我目前通過使用break.time.by = 365.25 / 12 (每月)來設置它。 但是,我需要每 12 個月為表格設置一次軸標簽(以滿足我無法更改的格式要求)。 我嘗試僅格式化整個 plot 的表格組件並使用 scale_x_continuous(breaks = c(values here)) 但這不起作用。 我收到一條消息說Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale. Scale for 'x' is already present. Adding another scale for 'x', which will replace the existing scale.

您可以在 ggsurvplot 創建的ggsurvplot中替換一個比例,這是一個類似列表的 object 包含兩個ggplot對象(除其他外)。 這些ggplot對象之一稱為table 您可以添加第二個scale_x_continuous (並獲得有關添加第二個比例的警告),或者只是覆蓋原始文件。

例如,我們將使用來自survival package 的內置數據集之一:

library(survival)
library(survminer)

fit3 <- survfit( Surv(time, status) ~ sex, data = colon)

ggsurv <- ggsurvplot(fit3, data = colon,
  fun = "cumhaz", conf.int = TRUE,
  risk.table = TRUE, risk.table.col="strata",
  ggtheme = theme_bw())

ggsurv

我們可以通過執行以下操作找出哪個比例 object 是 x 比例:

x <- which(ggsurv$table$scales$find("x"))

並用我們自己的規模覆蓋它。 例如,我們可以每 200 個而不是每 1000 個單位休息:

ggsurv$table$scales$scales[[x]] <- scale_x_continuous(breaks = 0:15 * 200)

我們的 plot 現在是我們想要的,在表格的 x 軸上有新的比例:

ggsurv

代表 package (v2.0.1) 於 2022 年 1 月 26 日創建

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM