relative_risk#
- scipy.stats.contingency.relative_risk(exposed_cases, exposed_total, control_cases, control_total)[源代码]#
计算相对风险(也称为风险比)。
此函数计算与 2x2 列联表相关的相对风险([1], 第 2.2.3 节;[2], 第 3.1.2 节)。 它不是接受一个表作为参数,而是将用于计算相对风险的各个数字作为单独的参数给出。这是为了避免列联表的哪一行或哪一列对应于“暴露”病例,哪一行或哪一列对应于“对照”病例的歧义。与例如优势比不同,相对风险在行或列的互换下不是不变的。
- 参数:
- exposed_cases非负整数
在“暴露”个体样本中,“病例”(即疾病或其他感兴趣事件的发生)的数量。
- exposed_total正整数
样本中“暴露”个体的总数。
- control_cases非负整数
在“对照”或未暴露个体样本中,“病例”的数量。
- control_total正整数
样本中“对照”个体的总数。
- 返回:
- result
RelativeRiskResult
的实例 该对象具有浮点属性
relative_risk
,它是rr = (exposed_cases/exposed_total) / (control_cases/control_total)
该对象还具有方法
confidence_interval
,用于计算给定置信水平下相对风险的置信区间。
- result
另请参阅
注释
R 包 epitools 具有函数 riskratio,该函数接受具有以下布局的表
disease=0 disease=1 exposed=0 (ref) n00 n01 exposed=1 n10 n11
对于上述格式的 2x2 表,当给定参数 method=”wald” 时,或者使用函数 riskratio.wald,通过 riskratio 计算 CI 的估计值。
例如,在对吸烟者和非吸烟者样本中肺癌的发病率进行测试时,“暴露”类别将对应于“是吸烟者”,而“疾病”类别将对应于“患有或曾经患有肺癌”。
要将相同的数据传递给
relative_risk
,请使用relative_risk(n11, n10 + n11, n01, n00 + n01)
1.7.0 版本新增。
参考文献
[1]Alan Agresti, An Introduction to Categorical Data Analysis (second edition), Wiley, Hoboken, NJ, USA (2007)。
示例
>>> from scipy.stats.contingency import relative_risk
此示例来自 [2] 的示例 3.1。一项心脏病研究的结果总结在下表中
High CAT Low CAT Total -------- ------- ----- CHD 27 44 71 No CHD 95 443 538 Total 122 487 609
CHD 是冠心病,CAT 指的是循环儿茶酚胺的水平。CAT 是“暴露”变量,而高 CAT 是“暴露”类别。因此,要传递给
relative_risk
的表格数据是exposed_cases = 27 exposed_total = 122 control_cases = 44 control_total = 487
>>> result = relative_risk(27, 122, 44, 487) >>> result.relative_risk 2.4495156482861398
查找相对风险的置信区间。
>>> result.confidence_interval(confidence_level=0.95) ConfidenceInterval(low=1.5836990926700116, high=3.7886786315466354)
该区间不包含 1,因此数据支持高 CAT 与 CHD 风险增加相关的说法。