如何求直方图下一部分的面积?

问题描述 投票:0回答:1
muhats = replicate(200000,mean(rexp(18, rate = 3))*exp(((-1/2)*mean(rexp(18, rate = 3)))) )
myhist <- hist(muhats)
plot(myhist)

我有上面的密度函数,有没有一个R命令可以给我直方图下2个点之间的面积?我似乎哪里都找不到?

我想在x轴上找到一个点c,这样c左边的面积是0.09。

r plot histogram
1个回答
1
投票

你可以使用这个函数,它利用梯形规则对密度进行数值积分,并返回超过特定值的第一个值。

density_area_exceeds <- function(vector, limit)
{
  d <- density(vector)
  d$x[cumsum(diff(d$x) * (d$y[-1] + d$y[-length(d$y)])/2) > limit][1]
}

所以你可以这样做:

density_area_exceeds(muhat, 0.09)
#> [1] 0.1961847

所以X轴上这个点左边的密度面积是0. 09.

不过请注意,这和刚才做的答案大致相同。

quantile(g, 0.09)
#>        9% 
#> 0.1971049 
© www.soinside.com 2019 - 2024. All rights reserved.