0

我正在尝试绘制我为博士学位所做的生存分析的危险函数,比较两种不同条件的危险率。

为了获得预测变量两个级别的平滑危险线的置信区间,我找不到使代码按预期运行的方法(此处供参考,第 7 页的图 4)。

我正在添加我的代码以供参考:

fitt<-bshazard(Surv(time,event) ~ session.type,data=data,lambda=10,nbin=60) 
plot(fitt,overall=FALSE, col=1, conf.int = TRUE)

函数“overall = FALSE”给了我两条平滑的危险曲线,它们都不包括置信区间,我需要从图中推断结果。这是我从代码中获得的绘图图像:

在此处输入图像描述

如果有人知道一种在时间表中获取危险率(具有上下置信区间)的方法,以便了解每个时间间隔的这些值,那将对我有很大帮助。

感谢任何可以提供帮助的人!

4

1 回答 1

0

一种方法是通过 session.type 的两个级别运行函数 bshazard 对数据进行分层。考虑具有两个级别(例如 0 和 1)的 session.type,您的代码以获得危险率(具有上下置信区间)是:

-对于 session.type = 0:

Fitt0 <- bshazard(Surv(time,evento) ~1, data= data [data$session.type ==0,],lambda=10,nbin=60)
plot(fitt0,overall=TRUE, col=1, conf.int = TRUE)

-for 级别 session.type=1

Fitt1 <- bshazard(Surv(time,evento) ~1, data= data [data$session.type ==1,],lambda=10,nbin=60)
plot(fitt1,overall=TRUE, col=1, conf.int = TRUE)
于 2021-10-18T08:47:20.503 回答