The motivation for this plot is the function: graphics::smoothScatter; Basically a plot of a two dimensional density estimator. In the following I want to reproduce the features with ggplot2.

These notes are inspired by

This post is part of a series related to object oriented programming in R and the package aoos. The previous introduced how to work with the function retList.

This post is part of a series related to object oriented programming in R and the package aoos. The previous introduces the current version of aoos. The next links to the Performance vignette in the package.

This post is part of a series related to object oriented programming in R and the package aoos. The previous was a discussion of different representations of reference classes in R. The next links to another vignette in the package and introduces some features of retList.

This is a reproduction of the (simple) bar plot of chapter 6.1.1 in Datendesign mit R with ggplot2. To download the data you can use the following lines:

This post is part of a series related to object oriented programming in R and the package aoos. The previous introduced the version 0.2.0 of aoos. The next links to the Introduction vignette in the package.

At the moment I try to improve my knowledge about functional programming in R. Luckily there are some explanations on the topic in the web (adv-r and Cartesian Faith). Beginning to (re)discover the usefulness of closures, I remember some (at first sight) very strange behaviour. Actually it is consistent within the scoping rules of R, but until I felt to be on the same level of consistency it took a while.

I am often in the position to write functions for different types (classes) of objects (arguments). Somehow it never occurred to me, that it would be a good idea to write methods instead of several functions. Besides all other great advantages of generic functions and methods, one main reason for me is simply the number of function names I have to come up with. And the more functions I use in my package the crazier the names. Not good.