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