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