6 ms·
R has some spectacular libraries and a huge userbase among statisticians, so it is definitely a big actor. On the downside, the core team who manage it appear t
by crayola 14y ago
R has some spectacular libraries and a huge userbase among statisticians, so it is definitely a big actor. On the downside, the core team who manage it appear to be somewhat averse to making the language progress in meaningful ways. R is very slow, has difficulty handling large data, and is a source of many "wtf" moments (e.g. see "the R inferno"), even for advanced users.
I think the best thing that could happen would be a mass migration of R users towards Clojure, Julia or (more realistically) Python, and an attempt to reproduce in that language the key packages that are R's main appeal at the moment (ggplot2 mostly).
- dagw 14y agohttps://github.com/ContinuumIO/Bokeh https://github.com/ContinuumIO/Bokeh is an attempt to provide a ggplot equivalent in python.
- schabernakk 14y agowhat advantages does this offer in comparison to matplotlib? 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.
- darkarmani 14y ago> what advantages does this offer in comparison to matplotlib? "Although it is a Python library, its primary output backend is HTML5 Canvas."
- pwang 14y ago(Bokeh developer here) 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/ContinuumIO/Bokeh/blob/master/tests/web/bokeh-facets.html 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/ 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.
- hadley 14y agoTo add to pwang's comment, to me the problem with matplotlib is that it makes an assumption that I believe to be untrue: the majority of data analysis tasks only need a pre-set list of plots. In my experience, most data analysis tasks need some novel combination of existing components, that may not have a specific name (e.g. pie chart, bar chart).
- dfc 14y agoThe R Inferno: http://www.burns-stat.com/pages/Tutor/R_inferno.pdf http://www.burns-stat.com/pages/Tutor/R_inferno.pdf Abstract: If you are using R and you think you're in hell, this is a map for you.
- llamazv2 14y agoAgreed. Ideally, a new language/api will emerge that learns from the successes and failures of R. Something that is designed to be used as it is used presently, that incorporates Hadley Wickham's ideas, that has a less quirky OOP system, and that is more readable. 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...
- hadley 14y agoYou can already implement Curry in R: https://github.com/hadley/pryr/blob/master/R/curry.r https://github.com/hadley/pryr/blob/master/R/curry.r :)
- hadley 14y agoI think the best thing that could happen would be the development of a competing R implementation. In my mind this would include the definition of a minimal R language implemented in something like Riposte (http://www.justintalbot.com/wp-content/uploads/2012/10/pact080talbot.pdf http://www.justintalbot.com/wp-content/uploads/2012/10/pact0...), and the majority of base code written either in R, or the sort of C++ that Rcpp makes very natural.
- chuckbone 14y agoThe best thing that can happen to R would be to rewrite the parser in Haskell and make R a domain specific language. Leave the stats/R language to statisticians who originally designed R, and bring in the Comp Sci crowd to actually make a meaningful speedup.
- hadley 14y agoThat's an unusual suggestion - I haven't heard anyone complain about R's parser before. It's also hard to argue that R is a DSL (at least in the spirit of http://en.wikipedia.org/wiki/Domain-specific_language http://en.wikipedia.org/wiki/Domain-specific_language). There are many features of R, features that make it particularly well suited to statistics and data analysis, that would be very difficult to reproduce in an embedded DSL (missing values are one particularly important example)
- simulate 14y agoJulia is meant to be a competitor to R. The Julia developer community have added dataframes to compete with R Datasets and packages. See: http://docs.julialang.org/en/latest/packages/packagelist/?highlight=dataframes#id83 http://docs.julialang.org/en/latest/packages/packagelist/?hi... and: http://docs.julialang.org/en/latest/packages/packagelist/?highlight=dataframes#id27 http://docs.julialang.org/en/latest/packages/packagelist/?hi...
- saosebastiao 14y agoInteresting. First time I have heard of Riposte. It dousn't sound like a new language though, but rather a new runtime. Am I understanding incorrectly?
- sonabinu 14y agoagree that the change is slow, but R is increasingly finding a place in the world of large datasets. Check out these http://www.oracle.com/technetwork/database/options/advanced-analytics/r-enterprise/index.html http://www.oracle.com/technetwork/database/options/advanced-... http://www.revolutionanalytics.com/why-revolution-r/whitepapers/R-and-Hadoop-Big-Data-Analytics.pdf http://www.revolutionanalytics.com/why-revolution-r/whitepap...
- hudibras 14y agoThe biggest problem R faces is the corrosive attitude the language developers and maintainers have towards the R community. The R core team sometimes seems openly hostile to users; instead of Benevolent-Dictator-for-Life, it's more of a military junta that suppresses the opposition.
- deleted 14y ago[deleted]
- foobarqux 14y agoWhere is this "R community" hiding? The IRC channel is essentially dead.