从 stpm2-object 中提取基线危险

Extracting baseline hazards from stpm2-object

我需要从我使用 rstpm2 包(stata 中 stpm2 模块的转换)构建的一般生存模型 (GSM) 中提取基线危害。

使用rstpm2-package中的数据让我们以此为例:

library(rstpm2)

gsm <- stpm2(Surv(rectime,censrec==1)~hormon, data=brcancer, df=3)

sum.gsm <- summary(gsm)

所以我注意到摘要中有一个名为 bhazard 的元素:

sum.gsm@args$bhazard

然而,它似乎充满了零,并且每个患者都有一个值。据我了解,基线危害应该包括数据中每个时间点的一种危害。

有没有人有任何可以提供帮助的经验

您可以使用 plotlines 方法绘制生存图和许多其他预测。例如:

plot(gsm, newdata=data.frame(hormon=0))

Plot

请注意,您需要指定 newdata 参数。对于更一般的图,您可以使用 gridfull 协变量和标准误差获得时间预测:

out <- predict(gsm,newdata=data.frame(hormon=0:1), grid=TRUE, 
               full=TRUE, se.fit=TRUE)

然后您可以使用 ggplot2lattice 来绘制间隔。例如,

library(ggplot2)
ggplot(out, aes(x=rectime, y=Estimate, ymin=lower, ymax=upper, 
                fill=factor(hormon))) +
    geom_ribbon(alpha=0.6) + geom_line() 

Plot

编辑:要预测特定时间的存活率,您可以在 newdata 参数中包含时间:

predict(gsm, newdata=data.frame(hormon=0,rectime=1:365))

(请注意,生存是根据日志(时间)定义的,因此我排除了 rectime=0。)