R is hot [pdf]
revolutionanalytics.com
revolutionanalytics.com
Are the points they describe (easy faceting, bulk application of aesthetic and visual parameters across categorical variables, pleasing default color palettes for categorical data, etc.) really that much of a pain point with matplotlib?
I used it for two or three projects but not really extensively and especially not for complex statistical plotting, thats why I ask.
"Although it is a Python library, its primary output backend is HTML5 Canvas."
The core goals of the project are to offer: interactive, easy-to-specify, powerful novel graphics, with good support for statistical plots, in a web browser. That's quite a handful of things to balance, but we are picking up the best ideas from already existing projects: matplotlib, chaco, ggplot, protovis, stencil. The project is still nacent but we have promising results so far. (For instance, here is an ipython notebook export with interactive ggplot-style faceted plots of a Pandas DataFrame: http://htmlpreview.github.com/?https://github.com/ContinuumI...)
This kind of composite plot is a one-liner in the grammar of graphics. It would be much more with Matplotlib or Chaco. There are also marvelous novel graphics that are possible with Protovis-style Marks & Glyphs: http://mbostock.github.com/protovis/ex/ Although these are technically possible with existing libraries, the amount of programming skill required to create them is outside the capability of most data analysts. Our goal with Bokeh is to make these all accessible to that larger audience.
Abstract: If you are using R and you think you're in hell, this is a map for you.
Perhaps currying/function compositions could be encouraged to avoid(hard, to(read(nested, functions))). However, being unexperienced with currying/function compositions, I have no idea if that would complicate the language...
See: http://docs.julialang.org/en/latest/packages/packagelist/?hi... and: http://docs.julialang.org/en/latest/packages/packagelist/?hi...
http://www.revolutionanalytics.com/why-revolution-r/whitepap...
Then, in the plotting phase I'm constantly looking up Mathematica's plot options because I don't use it often enough to remember them. By default almost everything looks like crap in Mathematica, and you have to put in 10+ options to try to make it look good, but even so I'm usually dissatisfied with the result. Often I want something and then I find someone on a message board saying that it doesn't support that, and then he shares his 100 line program which gets Mathematica to do that. Then I usually give up. Getting programs from the Internet to work with Mathematica is a pain because Wolfram pushes out a new version every year and they keep changing small things which break backwards compatibility. Compare to the (much less powerful) Google Charts library, where everything looks much better and easier to comprehend by default.
One of my startup ideas is to write something like Mathematica, much simpler, runs on the web as a service, you can program it in Javascript, has embedded SQL, and it uses something like Google Chart for simple plotting, or you can pull in your favorite plotting library. Let's you share your work by sending around a link.
PS: I played around with R, but it seemed even more cryptic than Mathematica. Admittedly I didn't spend much time in it.
Actually I'm developing/maintaining something like this at my job, as part of the Data Services team. Similar to this, it uses Google Charts and is a node.js app. It will be open-sources in a couple of months. The goal is to avoid using Gooddata for as much stuff as possible, GD is too sluggish.
- You can't chain indexing with function calls. So you can't do myfun()[1]. This gets obnoxious really quickly. I hope you like useless intermediate variables. - You can't have a N-D array with singleton trailing dimension. So if you want dynamically created array sizes you will have to create special cases for that. - One external function per file.
Codeschool recently launched a free tutorial class for R thats interactive. They do a great job with intro level learning.
go to the R website - http://cran.r-project.org/
http://gallery.r-enthusiasts.com/
Examples of graphics with code, and some are very smart
It explains a lot of the general principles behind the language, so you can figure out details for yourself (in comparison to, for instance, the R Cookbook, which has hundreds more pages of details and code samples for specific use cases).