我需要一个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)。
发布于 2020-09-25 23:00:49
这里有两个主要问题。
MedianCI实现的方法更“正确”。
方程的结果是舍入到下一个整数,置信区间的边界在数据集中的两个值之间。
(我不清楚为什么结果会在下界和上界都被舍入;我原以为它们会在上限和下限上被舍入.)
通过给你0.949的置信区间而不是你要求的0.949,MedianCI是保守的( CI的典型定义是一个区间,其中至少包含了时间的x% );置信水平0.89-0.94将给你0.949的水平,而0.79-0.88的值将给你0.889的水平。
如果你有关于我回答的技术细节的后续问题,你应该在CrossValidated上问。我不知道在一个R包中是否有一个方便的内置函数实现了书中给出的近似方法(虽然它应该只需要高级的初学者R技能来实现;如果你想尝试它,试一试,当你被困的时候可以自由地问另一个问题……)
https://stackoverflow.com/questions/64071932
复制相似问题