- 背景**:我有一个肝移植患者的数据集(其中一些人在治疗组A,另一些人在治疗组B,这取决于他们使用的免疫抑制药物)。由于移植,这些患者发生供体源性HBV感染的风险很高。
- 需要什么**:研究者关注感染开始前的时间(首次HBV感染)和随时间推移发生感染的比例。他们还希望获得基线和每个移植后随访时间点HBV感染的累积发生率(6个月、12个月、18个月和24个月)。例如,6个月的数据是随访6个月的患者中曾患HBV的比例,12个月的数据是随访12个月的患者中曾患HBV的比例,以此类推。
在这个特定的病例中,累积发生率仅仅是1减去生存函数,没有考虑任何竞争风险,分析人群没有死亡或失访。
- 我的问题**是:
1.有没有办法将事件数量添加到图中风险数量的正下方?
1.是否有任何方法也可以获得每个时间点每组的累积发生率以及标准误差和95%置信区间,类似于我们使用以下总结(km)时获得的生命表?这些生命表为我提供了生存概率,所以我想如果我想要累积发生率,我可以仅手动计算1-生存概率,但不确定如何获得标准误差和置信区间?
下面是一个与实际数据集类似的测试数据集,以及我目前所做的工作:
time<-c(1.5989,6.9433, 0.8890, 3.2691, 1.0514, 2.7625, 1.4319, 0.9681, 7.4416, 0.0268, 1.5168, 1.9647, 0.0657, 4.3571, 6.4490, 0.2198, 1.2028, 0.9555, 0.2601, 2.0096, 7.5156, 0.4463, 0.2355, 0.9391, 2.6996)
censor<-c(1, 0, 1, 0, 1, 0, 1, 1, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 1, 1, 0)
group<-c(1, 2, 1, 1, 2, 2, 1, 1, 1, 2, 1, 2, 1, 1, 2, 1, 2, 1, 1, 2, 2, 2, 1, 2, 1)
df<-data.frame(ID, time, censor, group)
View(df)
km<-survfit(formula = Surv(time, censor) ~ group, data = df)
summary(km)
#cumulative incidence plot
plot(km, fun = function(x) 1-x)
#log rank test;
survdiff(Surv(time, censor) ~ group, data=df)
#plot survival curves for each treatment group
#cumulative incidence plot
ggsurvplot(km,
data = df,
censor = T,
risk.table = TRUE,
legend.labs = c("group 1", "group 2"),
xlim = c(0,10),
ylim = c(0,1),
pval = T,
pval.method = T,
pval.method.coord = c(2.5,0.5),
pval.coord = c(4.2,0.5),
xlab = "Months",
ylab = "SURVIVAL PROBABILITY",
linetype = c(1,2),
legend.title = "",
palette = c('red', 'blue'),
fun="event"
)
1条答案
按热度按时间fhity93d1#
您可以创建自定义表格,然后删除
ggsurvplot
默认表格并将其替换为您的自定义表格。如英国癌症杂志的A note on competing risks in survival data analysis文章中关于累积死亡率的描述:
这与生存率正好相反,换句话说,某一事件在某一给定时间的累积发生率等于1减去该时间的总生存概率。
对于您所说的事件累积发生率,我们可以使用
1-survival_probalility
,因此其标准误差与置信区间相同(albiet lower ci作为上限ci,上限ci作为下限ci)。在这里的自定义图中,我添加了风险数(第一行)、累积事件数(第二行)、生存概率(第三行)及其置信区间(第四行)
创建于2023年2月13日,使用reprex v2.0.2