Is there a function in R that fits a curve to a histogram?
Let's say you had the following histogram
hist(c(rep(65, times=5), rep(25, times=5), rep(35, times=10), rep(45, times=4)))
It looks normal, but it's skewed. I want to fit a normal curve that is skewed to wrap around this histogram.
This question is rather basic, but I can't seem to find the answer for R on the internet.
Dirk has explained how to plot the density function over the histogram. But sometimes you might want to go with the stronger assumption of a skewed normal distribution and plot that instead of density. You can estimate the parameters of the distribution and plot it using the sn package:
This probably works better on data that is more skew-normal:
I had the same problem but Dirk's solution didn't seem to work. I was getting this warning messege every time
I read through ?hist and found about
freq
: a logical vector set TRUE by default.the code that worked for me is
If I understand your question correctly, then you probably want a density estimate along with the histogram:
Edit a long while later:
Here is a slightly more dressed-up version:
along with the graph it produces:
Here's the way I do it:
A bonus exercise is to do this with ggplot2 package ...
Such thing is easy with ggplot2
or to mimic the result from Dirk's solution