Source: https://www.r-project.org/conferences/useR-2008/slides/Nakatani.pdf