【问题标题】:Change labels of legend in ggcompetingrisks更改 ggcompetingrisks 中的图例标签
【发布时间】:2021-09-02 11:20:34
【问题描述】:

我找到了这个用于竞争风险分析的图示例:Customizing a competing risks plot in R with package "cmprsk"。 Allan Cameron 的版本真的很棒,但不幸的是我无法编辑分组变量的图例标签 - 即不同的线条颜色。

# Code written by Allan Cameron in the post mentioned above (slightly edited with my label names)

library(ggplot2)
library(cmprsk)
library(survminer)

# some simulated data to get started
comp.risk.data <- data.frame("tfs.days" = rweibull(n = 100, shape = 1, scale = 1)*100,
                             "status.tfs" = c(sample(c(0,1,1,1,1,2), size=50, replace=T)),
                             "Typing" = sample(c("A","B","C","D"), size=50, replace=T))

# fitting a competing risks model
CR <- cuminc(ftime = comp.risk.data$tfs.days, 
             fstatus = comp.risk.data$status.tfs, 
             cencode = 0,
             group = comp.risk.data$Typing)

p <- ggcompetingrisks(fit = CR, 
                      multiple_panels = F, 
                      xlab = "Days", 
                      ylab = "Cumulative incidence of event",
                      title = "Competing Risks Analysis") +
  scale_linetype_manual(name="my genotype",values=c(1, 2),labels=c("yes","no"))

p$mapping <- aes(x = time, y = est, colour = group, linetype = event)

p + labs(linetype = "event", colour = "my group")

我能够编辑不同线型的标签(点与否,即“是”、“否”),但我无法更改值“A”、“B”、“C”、 “D”可能是“一”、“二”、“三”、“四”。

谁能帮帮我?

谢谢!

【问题讨论】:

    标签: r plot


    【解决方案1】:

    基本上它与线型的方法相同。要仅更改标签,您可以通过scale_color_discrete 的标签参数设置它们,或者如果您还想更改颜色,我建议改用scale_color_manual

    library(ggplot2)
    library(cmprsk)
    library(survminer)
    
    p <- ggcompetingrisks(fit = CR, 
                          multiple_panels = F, 
                          xlab = "Days", 
                          ylab = "Cumulative incidence of event",
                          title = "Competing Risks Analysis") +
      scale_linetype_manual(name="my genotype",values=c(1, 2),labels=c("yes","no")) +
      scale_color_discrete(labels = c(A = "one", B = "two", C = "three", D = "four"))
    
    p$mapping <- aes(x = time, y = est, colour = group, linetype = event)
    
    p + labs(linetype = "event", colour = "my group")
    

    【讨论】:

    • 太好了 - 非常感谢!另一个问题:您能否向我解释一下最后两行代码(p$mapping...和p + labs...?分配给linetype的“事件”来自哪里?
    • p$mapping &lt;- aes() 用于更改ggcompetingrisks 使用的默认映射。那是您链接的问题中的问题。最后一行只是设置图例中使用的标签。 event 本身就是我得到一个由 ggcompetingrisks 计算的内部变量。
    • 好的 - 非常感谢您的帮助!!
    猜你喜欢
    • 2017-12-24
    • 2018-01-17
    • 1970-01-01
    • 2019-10-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多