当 type="response" 时 emmeans 置信区间中的错误?

bug in emmeans confidence intervals when type="response"?

似乎在 type="response" 时对 emmeans 对象调用 confint() 会产生虚假结果。

示例:

Condition = A:
 contrast           estimate    SE    df  z.ratio p.value
 Y - X              0.496       0.296 Inf 1.676   0.0937 

confint() 提供的置信区间一致,因为它们过零:

Condition = A:
 contrast           estimate    SE    df    asymp.LCL   asymp.UCL
 Y - X              0.496       0.296 Inf    -0.084     1.076

但现在看看当 emmeans 被要求时会发生什么 type="response"

我应该注意到这是来自 family="binomial" 的 glmer 模型,因此估计值是比值比,或者在这种情况下,从 logit 反向转换:

Condition = A:
 contrast           odds.ratio    SE       df  z.ratio p.value
 Y / X              1.64          0.486    Inf 1.676   0.0937 

所以你在这里看到,z 比率和 p 值是相同的,应该是这样的。但是看看当你调用 confint():

时会发生什么
Condition = A:
 contrast           odds.ratio    SE      df.     asymp.LCL asymp.UCL
 Y / X              1.64          0.486   Inf     0.919      2.93

突然间,置信区间 过零,即使之前 p 值 = 0.0937 并且非反向转换 CI 确实过零。

这是怎么回事,这是一个错误吗???

比值比始终为正数。而且,它是一个比率,而不是差异。当两个量的比率为 1 时,它们是相同的。注意区间有小于1的下限和大于1的上限;与您的测试结果一致。

最后请注意,您可以直接从logits差值的区间得到这个区间:exp{-0.084}=0.919和exp{1.076}=2.93。