Quick hit: Some ggplot2 Stat ???? for {logspline}
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
I’ve become a big fan of the {logspline} package over the past ~6 months and decided to wrap up a manual ggplot2 plotting process (well, it was at least in an RStudio snippet) into a small {ggplot2} Stat
to make it easier to visualize various components of the fitted model.
If you’re new to logspline density estimation this paper by Stone, Hansen, Kooperberg, and Truong is a pretty accessible introduction to the methodology and the (primary) algorithm used in the {logspline} package.
If you’re already a user of the {logspline} package have have either been just using the package’s base S3 plot function but wanted the functionality in {ggplot2} this was pretty much designed for you.
If you hit up https://git.rud.is/hrbrmstr/gglogspline there are links to all your fav social code collaboration services plus installation instructions. There’s a single Stat
— stat_logspline()
— which does all the hard work. By default it will make y
the stat(density)
computed field but there are other computed fields you can use as well:
count
: computed count estimates (similar toggplot2::stat_density()
)probs
: distribution functionsurvival
: survival functionhazard
: hazard function
You can take a look at the (light) comparison between geom_histogram()
, geom_density()
, ggalt::geom_bkde()
, and gglogspline::stat_logspline()
below (or use this link to bust the iframe):
FIN
For “general purpose” density estimation you can likely still rely on stat_density()
but after you dig into the background of logspline and try it out in some appropriate use-cases you may grow to like it as much as I have.
The package itself is super-small and focused. One reason for that is it may be helpful for those who want to create or customize their own ggplot2 Stat
s. (I think I forgot to change the license to MIT before this post so I’ll rectify that ASAP; I default to AGPL in a fairly pathetic attempt to stop skeezy cybersecurity startups — pretty much 99% of them — from stealing code without giving back to the community).
As usual, kick the tyres and file issues or PRs as you feel moved (and wherever you feel comfortable social coding).
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.