r - R 中的发生率置信区间

标签 r

我认为我在这里错过了正确的英语术语来搜索自己。

我这样计算发生率:

> observed_cases_n = 112575
> population_n = 752487
> rate_relation = 1000
> CI = 95
> ir = observed_cases_n / population_n * rate_relation

结果是

> ir
[1] 149.6039

这里的术语“发生率”正确吗?

现在我想计算其置信区间。我可以使用 Python 代码执行此操作,但我不知道如何将其转换为 R。这是 Python 代码。

import math
from statistics import NormalDist

ir = 149.6039

# "incidence rate" as cases per 1.000 people
rate_relation = 1000

# Strength of the confidence interval
CI = 95

# Variance of raw incidence rate
ir_variance = ir * (rate_relation - ir) / population_n

nd = NormalDist(mu=1, sigma=0.5).inv_cdf((1 + CI / 100) / 2)

# Confidence interval
ci_lower = ir - nd * math.sqrt(ir_variance)
ci_upper = ir + nd * math.sqrt(ir_variance)

print(f'The {CI}% confidence interval is {ci_lower} to {ci_upper}.')

最佳答案

正态分布百分位数可以计算为(类似于NormalDist.inv_cdf)

nd = qnorm((1 + CI / 100) / 2, mean=0, sd=1)

平方根就是sqrt

ci_lower = ir - nd * sqrt(ir_variance)
ci_upper = ir + nd * sqrt(ir_variance)

要打印结果,您可以使用cat:

cat(paste0('The ', CI, '% ',
           'confidence interval is ',
           ci_lower, ' to ', ci_upper, '.'))

> The 95% confidence interval is 148.798014280215 to 150.409812565963.

关于r - R 中的发生率置信区间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72098724/

相关文章:

list - 索引嵌套列表/环境的有效(或最有效)方法是什么?

javascript - Shiny :将 reactiveValues 传递给 conditionalPanel

r - "Marking"R 中的重复项

r - 老鼠 : glm. 适合:算法没有收敛

r - Stata 到 R 根据条件替换值

R 比较两个列表是否完全相等

r - 在 R 中,如何使 'observeEvent' 不会被 'updateSelectizeInput' 的更改触发

r - 如何在 Amazon Linux 2 上安装更新版本的 R

r - 创建一个计数器,只计算某个逻辑值并给出相同的重复次数

r - 如何将 data.frame 强制转换为 R 中的稀疏矩阵