【问题标题】:survplot - table with subjects of risk doesn't show up entirelysurvplot - 带有风险主题的表格未完全显示
【发布时间】:2014-06-28 13:31:59
【问题描述】:

这是对先前提出的相关问题的跟进: 数据和代码在这里error message when ploting subjects at risk with survplot

当尝试在 survplot 下方绘制处于风险中的受试者时,表格要么与 x 轴的标签重叠,要么不出现在图上(在下面的示例中,缺少一行;totalps=4)。如何解决这个问题?

从文档到 survplot 命令,我了解到我可能必须使用 par 命令重置绘图的边距(例如 par(mar=c(5,4,4,2)+.1)。)我不明白如何将此 par 命令包含到 survplot 中。

此外,表格中关于处于危险中的对象的行之间有相当大的空间。有没有直接的方法来减少这个空间?

这里是情节的代码:

library(rms)
pdf(plot1.pdf)
survplot(KM.Duration.totalps[-1], 
         xlab="duration in months", ylab="survival prob",
         conf="none",
         label.curves=list(method="arrow", cex=0.8),
         time.inc=12,
         col=c(1:4),
         levels.only = FALSE,                   
         n.risk=TRUE,
         y.n.risk = -0.3, cex.n.risk = 0.6
         )

dev.off()

【问题讨论】:

  • 我对 survplot 一无所知,但如果您可以使用内置数据集发布内容,我很乐意四处探索。
  • 主要问题是这么小的空间有太多的刻度线。要么使情节更大(可能不是最佳解决方案),要么将刻度数限制为 10 或更少

标签: r survival-analysis


【解决方案1】:

只需阅读帮助页面:

sep.n.风险
y 上限的倍数 - 用于分隔包含风险对象数量的文本行的 y 下限。默认为 .056*(ylim[2]-ylim[1])。

有些 par 函数最好在 plot 调用之前(但在 pdf() 调用之后)与 par 一起使用,所以:

pdf(...)
par( mar=c(7,4,4,2)+.1) ) # adds two lines to default space along bottom margin
survplot(...

【讨论】:

    【解决方案2】:

    在绘图之前设置边距,如下所示:

    par(mar=(0,0,0,0))
    plot(c(1:10))
    

    会给你一个没有边距的情节。 par(mar=(1,2,3,4) 将为您提供底部一行文本、左侧两行、顶部三行和右侧四行的边距。

    如果您想以英寸为单位指定边距,请使用par(mai=(x,x,x,x))。 R 的默认值是输出设备为 7 x 7 英寸,尽管取决于设备(包括我编写的设备),这可能有点模糊。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-26
      • 1970-01-01
      • 2016-07-02
      • 2016-02-25
      • 1970-01-01
      • 2012-08-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多