I have a bad tendency in my research work to write my own code and libraries from scratch, in large part because I’ve decided to keep most of my coding in Common Lisp to leverage prior tools. However, I’ve recently been given a painful demonstration of how it is often faster to pay the up-front cost to learn the right tool than to rewrite (and maintain) the subsets you think you need. For example, I found myself venturing into Clojure/Java/Hadoop for my commercial work this year as a compromise between Lisp / dynamic language features and integration benefits. This week I’m finding the need to do some rather sophisticated work with graphical models and I need some tools to build and evaluate them.
I’ve looked at a wide variety of open source approaches such as Samiam (no continuous variables), WinBUGS (only windows), OpenBUGS (not quite ready), HBC (inference only), Mallett (OK, but I don’t like Java and doesn’t support all forms of real-valued random variables), Incanter (limited but growing support for graphical models) and R.
Given my comments you can probably guess that I decided to go learn R and find the appropriate packages to work with. R is basically a scheme with Matlab style data types and syntax. Nice interactive command line, first order functions, very strong community, etc.
Since I learn best from examples, I looked around for a good in-depth set of tutorials to work from and am recording them here.
- A pretty dense introduction to R
- An intro plus basic examples for the R package deal
- LearnBayes, a set of worked data examples to complement the book Bayesian Computation with R
- Bayesian Core is a complete book / course from 2008 using R with