使用DescTools :: medianCI时,中位数的90%置信区间

问题描述

我需要在中位数附近获得90%的置信区间。

x <- c(251,108,27,18,195,82,222,38,81,181,140,21,43,47,15,37,46,107,19,178,95,130,60,34,48,219,338,78,117,62,40,52)
MedianCI(x,conf.level=0.9)

结果是

median lwr.ci upr.ci 
 70     46    108  
attr(,"conf.level") [1] 0.9498975

生成0.949水平的区间,但我想要0.9。正确的方法是什么?正确答案应该是(70,47,108)。

解决方法

这里有两个主要问题。

  1. 书中给出的方法是近似的。正如作者指出的那样,对于大多数大样本数据集来说可能还不错,但实际上它比“ {正确””要比MedianCI

    实现的方法更远。
  2. 尤其是对于小型数据集,置信区间(无论如何计算)不太可能与数据集中的观察值完全一致:这就是作者说的原因

方程式的结果舍入到下一个整数,并且置信区间的边界在数据集中的两个值之间。

(我不清楚为什么对CI下限和上限均进行四舍五入;我希望将它们对上限进行四舍五入,对下限进行下舍...)>

通过给您0.949的置信区间,而不是您要求的0.9,置信MedianCI是保守的(CI的典型定义是至少包含真实值 的区间x%的时间);置信度0.89-0.94将给您0.949,而0.79-0.88则为0.889。

如果您对我的回答的技术细节有后续疑问,您可能应该在CrossValidated上提问。我不知道R包中是否有一个方便的内置函数来实现书中给出的近似方法(尽管只需要入门级R技能即可实现;如果您想尝试,试一试,卡住时可以随意问另一个问题...)