我认为我在这里错过了正确的英语术语来搜索自己。
我这样计算发生率:
> 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/