我需要从我使用 rstpm2-package(stata 中 stpm2 模块的转换(构建的一般生存模型 (GSM( 中提取基线危害。
使用 rstPM2 包中的数据,让我们以此为例:
library(rstpm2)
gsm <- stpm2(Surv(rectime,censrec==1)~hormon, data=brcancer, df=3)
sum.gsm <- summary(gsm)
所以我注意到摘要中有一个名为 bhazard 的元素:
sum.gsm@args$bhazard
然而,它似乎充满了零,每个病人都有一个值。据我了解,基线危害应该由数据中每个时间点的一个危害组成。
有没有人有任何经验可以提供帮助
您可以使用plot
和lines
方法来绘制生存和许多其他预测。例如:
plot(gsm, newdata=data.frame(hormon=0))
情节
请注意,您需要指定newdata
参数。对于更一般的图,您可以使用以下方法获得具有标准误差的full
协变量的时间grid
的预测:
out <- predict(gsm,newdata=data.frame(hormon=0:1), grid=TRUE,
full=TRUE, se.fit=TRUE)
然后,您可以使用ggplot2
或lattice
来绘制间隔。例如
library(ggplot2)
ggplot(out, aes(x=rectime, y=Estimate, ymin=lower, ymax=upper,
fill=factor(hormon))) +
geom_ribbon(alpha=0.6) + geom_line()
情节
编辑:要预测特定时间的生存,您可以在newdata
参数中包含时间:
predict(gsm, newdata=data.frame(hormon=0,rectime=1:365))
(请注意,生存是根据log(time(定义的,因此我排除了rectime=0
。