如何获得 R 中 svychisq 中观察到的细胞计数?

问题描述

我正在使用函数 survey::svychisq() 在复杂样本的双向列联表中测试独立性。

使用 svytable() 时,考虑到 design 中定义的权重,我得到了观察计数,并且我假设保存在 svychisq() 对象中的观察值是相同的,但它们不是:

svytable(~row.var+col.var,design)
# 330.6634    867.6478    177.1630
# 687.4503    962.5404    228.2926

svychisq(~row.var+col.var,design)$observed
# 404.6712    1061.8411    216.8149
# 841.3126    1177.9722    279.3881

提供不同的结果,我真的不明白为什么。

谁能给我解释一下后面的观测值是如何计算的?

谢谢!

解决方法

$observed 组件是一个加权表,权重按比例缩放至样本大小。