是否有可能使用ggsurvfit::ggsurvfit()生成对数-负-对数曲线图?

这是我想制作的一个例子:

library(ggsurvfit)
temp <- survfit2(Surv(time, status) ~ adhere, data = df_colon)
plot(temp, fun = \(x) log(-log(x)))

但我不想用plot(),我想用ggsurvfit::ggsurvfit().我try 了以下几种方法

temp$surv <- log(-log(temp$surv))
ggsurvfit(temp)

但它在情节开始时表现得很奇怪,因为在时间0的生存曲线是1.

推荐答案

问题是,ggsurvfit()假设时间为零的时候是y=1.这对于生存曲线来说是有意义的--你不能对已经死亡的人的生存进行建模--但如果你改变y轴就不是这样了.

要解决这个问题,因为ggsurvit()会生成ggplot对象,您只需将轴限制设置为仅包括实际存在的值,即可删除包含此假设的行.我也会更改y轴标签.

ggsurvfit(temp) +
    scale_y_continuous(
        limits = (c(min(temp$surv), max(temp$surv)))
    ) +
    labs(
        y = "log(-log(surival probability))"
    )

enter image description here

R相关问答推荐

导入到固定列宽的R中时出现问题

使用scale_x_continuous复制ggplot 2中的离散x轴

列出用m n个值替换来绘制n个数字的所有方法(i.o.w.:R中大小为n的集合的所有划分为m个不同子集)

具有多个依赖变量/LHS的逻辑模型

检测(并替换)字符串中的数学符号

如果列中存在相同的字符串,则对行值进行总和

随机森林回归:下拉列重要性

Highcharter多次钻取不起作用,使用不同方法

在不安装软件包的情况下测试更新

用值序列对行进行子集化,并标识序列开始的列

当我们有多个特殊字符时,使用gsub删除名称和代码'

如何从R ggplot图片中获取SVG字符串?

如何基于两个条件从一列中提取行

是否可以将线性模型的p值添加到tbl_summary中

长/纬点继续在堪萨斯-SF结束,整齐的人口普查

为什么不能使用lApply在包装函数中调用子集

使用ggplot2绘制具有边缘分布的坡度图

R try Catch in the loop-跳过缺少的值并创建一个DF,显示跳过的内容

子样本间系数检验的比较

列间序列生成器的功能