If I understand you correctly, a univariate Gaussian distribution is
uniquely determined by its first two moments so you can just fit those
directly (using sample mean for population mean and sample variance
with Besel's correction for population variance) and get the
"best"
Gaussian (in a ML sense).
E.g.,
x <- rnorm(500, 3, 2)
hist(x, freq = FALSE)
lines(seq(min(x), max(x), length.out = 300) -> y, dnorm(y, mean(x),
sd(x)), col = 2)
Hope this helps,
Michael
On Mon, Mar 19, 2012 at 12:47 PM, Vihan Pandey <vihanpandey at gmail.com>
wrote:> Hello,
>
> I am trying to fit my histogram to a smooth Gaussian curve(the data
> closely resembles one except a few bars).
>
> This is my code :
>
> #!/usr/bin/Rscript
>
> out_file = "irc_20M_opencl_test.png"
> png(out_file)
>
> scan("my.csv") -> myvals
>
> hist(myvals, breaks = 50, main = "My Distribution",xlab =
"My Values")
>
> pdens <- density(myvals, na.rm=T)
> plot(pdens, col="black", lwd=3, xlab="My values",
main="Default KDE")
>
> dev.off()
>
> print(paste("Plot was saved in:", getwd()))
>
> the problem here is that I a jagged distribution, you can see the result :
>
> http://s15.postimage.org/9ucmkx3bf/foobar.png
>
> this is the original histogram :
>
> http://s12.postimage.org/e0lfp7d5p/foobar2.png
>
> any ideas on how I can smoothen it to a Gaussian curve?
>
> Thanks,
>
> - vihan
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.