从 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
然而,它似乎充满了零,并且每个患者都有一个值。据我了解,基线危害应该包括数据中每个时间点的一种危害。
有没有人有任何可以提供帮助的经验
您可以使用 plot
和 lines
方法绘制生存图和许多其他预测。例如:
plot(gsm, newdata=data.frame(hormon=0))
Plot
请注意,您需要指定 newdata
参数。对于更一般的图,您可以使用 grid
与 full
协变量和标准误差获得时间预测:
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()
Plot
编辑:要预测特定时间的存活率,您可以在 newdata
参数中包含时间:
predict(gsm, newdata=data.frame(hormon=0,rectime=1:365))
(请注意,生存是根据日志(时间)定义的,因此我排除了 rectime=0
。)
我需要从我使用 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
然而,它似乎充满了零,并且每个患者都有一个值。据我了解,基线危害应该包括数据中每个时间点的一种危害。
有没有人有任何可以提供帮助的经验
您可以使用 plot
和 lines
方法绘制生存图和许多其他预测。例如:
plot(gsm, newdata=data.frame(hormon=0))
Plot
请注意,您需要指定 newdata
参数。对于更一般的图,您可以使用 grid
与 full
协变量和标准误差获得时间预测:
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()
Plot
编辑:要预测特定时间的存活率,您可以在 newdata
参数中包含时间:
predict(gsm, newdata=data.frame(hormon=0,rectime=1:365))
(请注意,生存是根据日志(时间)定义的,因此我排除了 rectime=0
。)