R:查找所有值的95%范围的函数?

Dav*_*nar 11 r

在R语言中是否有一个函数或一个优雅的方法,以获得最小范围,包括95%的向量中的所有值?

任何建议都非常欢迎:)

Ari*_*man 16

95%的数据将介于2.5百分位和97.5百分位之间.您可以在R中计算该值,如下所示:

x <- runif(100)
quantile(x,probs=c(.025,.975))
Run Code Online (Sandbox Code Playgroud)

为了了解正在发生的事情,这是一个情节:

qts <- quantile(x,probs=c(.05,.95))
hist(x)
abline(v=qts[1],col="red")
abline(v=qts[2],col="red")
Run Code Online (Sandbox Code Playgroud)

注意这是精确/经验的95%间隔; 没有正常假设.

间隔为95%的组织

  • @David Molnar:请注意,这个解决方案隐含了一个假设,即底层分布是对称的,与你下面提出的不希望引入任何假设的愿望相反.如果您的分布偏斜,则可以通过更改端点来缩短间隔.例如,如果你的数据是指数的,那么`quantile(*,c(0,0.95))`将产生比`quantile(*,c(0.025,0.975))`更短的间隔. (2认同)