Why R?
------
[Posted to OpenBayes by Kevin Murphy on 12 July 2001.]
R is an open-source matrix-oriented language for
statistical computing. It is almost 100% compatible with S and Splus.
See http://www.R-project.org.
R has several advantages over some of the other languages that have
been proposed in the OpenBayes group (e.g., Matlab, C++, Java, Python,
Numerical Python (Numpy), Jython, etc.)
- R is a high-level functional programming language, which facilitates
rapid development and easy-to-read/debug code
- R can easily call C, Java, etc. when necessary (for speed)
- R is fully open-source (GNU GPL) and runs on basically all platforms
- R is part of the Omega Hat project for open-source statistical computing
http://www.omegahat.org/
- R has a very active community of users and developers, who respond
quickly to email, etc.
- R has a huge number of well-implemented standard statistical routines (e.g.,
decision/regression trees, generalized linear models, etc.), written
by top statisticians.
- R has many other useful packages, e.g., XML/Excel/SQL interfaces
- R has strict standards for contributors, which ensures
high-quality code and documentation
- It is my opinion that as Bayes Nets mature, they will make more and
more contact with the statistical mainstream, just like neural nets
did. Hence it is sensible to integrate graphical models into in one
of the most popular stastical languages.
Why not R?
----------
[Kevin Murphy, 11 August 2001.]
I no longer think it is sensible to translate BNT from Matlab to R, for the following
reasons.
- It would take a lot of time to translate BNT from Matlab to R,
and the resulting code would not be any faster or better designed.
- BNT already has a large user-base; many of these people might be
reluctant to learn a new language.
- Matlab is widely used throughout the machine learning, AI and vision
communities (our main target audiences).