When using hist()
in R and setting freq=FALSE
I should get a densities. However, I do not. I get other numbers than when it just shows the count. I still need to normalize.
For example:
> h = hist(c(1,2,1,3,1,4,5,4,5,8,2,4,1,7,6,10,7,4,3,7,3,5), freq=FALSE)
> h$density
0.13636364 0.15909091 0.09090909 0.09090909 0.02272727
> sum(h$density)
[1] 0.5
> h$density/sum(h$density)
[1] 0.27272727 0.31818182 0.18181818 0.18181818 0.0454545
If you examine the rest of the histogram output, you will notice that the bars have length 2:
$breaks
[1] 0 2 4 6 8 10
Hence you should multiple the sum(h$density)
by 2 to get the area equal to one. You can see this clearly if you look at the histogram.
The area of the histogram is, in fact, 1.0
. What you're not taking into account is that every bar is two units wide:
> h$breaks
[1] 0 2 4 6 8 10
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With