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 and have 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).
One Trackback/Pingback
[…] leave a comment for the author, please follow the link and comment on their blog: R – rud.is. R-bloggers.com offers daily e-mail updates about R news and tutorials on topics such as: Data […]