epiR::epi.conf()(ctype = 'inc.risk')返回的值与手动计算的累积发病率不同

编程语言 2026-07-12

我正在尝试用 epiR::epi.conf() 计算累积发病率,但估计值与简单手工计算不一致。

我有107名个体中发生了13例事件(13例事件,94例非事件)。

手工计算:

events <- 13
non_events <- 94

risk_manual <- events / (events + non_events)
risk_manual
# 0.1214953

使用 epi.conf()

library(epiR)

mat <- matrix(c(events, non_events),
              nrow = 1,
              ncol = 2,
              byrow = TRUE)

res <- epi.conf(mat,
                ctype = "inc.risk",
                method = "exact")

res

输出:

        est      lower     upper
1 0.1382979 0.07574298 0.2248772

估计值(0.1383)与13 / 107(0.1215)不匹配。

我到底哪里出了问题?

解决方案

我在 文档 中看到这个

方法prevalence和 inc.risk需要一个两列矩阵;第一列表示阳性数,第二列表示被检测的总数。

因此,在第二列中只使用事件的总数。

library(epiR)

events <- 13
non_events <- 94

risk_manual <- events / (events + non_events)
risk_manual
#> [1] 0.1214953

mat <- matrix(c(events, non_events + events),
              nrow = 1,
              ncol = 2,
              byrow = TRUE)

res <- epi.conf(mat,
                ctype = "inc.risk",
                method = "exact")


res
#>         est      lower     upper
#> 1 0.1214953 0.06630421 0.1987971

创建于2026-03-01,使用 reprex v2.1.1

站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。

相关文章