Friday, 16 May 2008

Things that are icky about R

Andrew Gelman notes that the default graphics functions suck and that R has no real idea that all numbers aren’t conceptually signed floats. Gelman is told that the default graphics functions aren’t the ones we’re supposed to use these days (e.g. Trellis graphics a.k.a. lattice and a bunch of stuff I’ve never heard of before today is preferable) and that R does have some idea that all numbers aren’t floats, but you have to convince R that the numbers you have aren’t floats, or something.

I think Gelman wins the argument by default.


Any views expressed in these comments are solely those of their authors; they do not reflect the views of the authors of Signifying Nothing, unless attributed to one of us.

You’re trolling. The discussions at Gelman’s blog are perfectly reasonable.
At worst a draw, and in my book still advantage R _because it allows you to set
new defaults_. See eg the defaults package by fellow Chicagoan Jeff Ryan.


Trolling? I call it “exaggeration for comic effect.” And you have to admit that graphics in R are notoriously opaque. I mean, “ggplot2”? Really? That’s the best name they could come up with?

Besides, I can’t be that much of a troll if I use R for pretty much everything I do stats-wise. :)

My ideal statistical computing language would combine the functionality of R with the syntax of Python (or maybe Ruby in a pinch): everything’s an object, first-class objects, hierarchical namespaces, more “mainstream” method invocation, and a proper string type with reasonable semantics that have been around since, oh I dunno, BASIC in the 1970s. Maybe with RPython one can get close to this ideal; must investigate further.


rpy is a nice solution if you’d like to use python as your working environment and call on R for statistical functions and plotting (although in my hands—Rpy 1.0.1/Python 2.5/Ubuntu 7.10—the X11 device is a bit unstable). pylab and matplotlib are potential solutions for doing the plotting from inside python (and give nice integration with Tk based GUIs) and numpy/numeric are useful for some of the math (although the documentation is not as good as R’s).


Chris: suggestions for a better name are gratefully welcomed ;)

Comments are now closed on this post.