I’m looking at ways to provide access to R via a web application. First rule: see what’s available first, before you reinvent the wheel. It’s not pretty.
From the R Web Interfaces FAQ:
Software | Brief notes |
---|---|
Rweb | Page last updated 1999. Of the 3 example links on the page one ran very slowly, the second not at all and the third is broken. |
R-Online | Or rather, not online. Unless this CGI form is the same thing. I tried Example 1, it returned a server error. |
Rcgi | Links to several CGI forms, none of which worked for me. |
CGI-based R access | Link did not load. |
CGIwithR | Package now maintained at Omegahat. Did not attempt installation. Last updated 2005. |
Rpad | I could not connect to this URL. |
RApache | The pick of the bunch. Provides server-side access to R through an Apache module. I was able to install RApache on 32-bit (but not 64-bit) Ubuntu 9.10 and get it running. Could use more documentation. |
Rserve | Serves R via TCP/IP. Last updated 2006. |
OpenStatServer | Broken link. No longer exists, so far as I can tell. |
R PHP Online | Link out of date (but you can follow it to the newer page). Last updated 2003, so unlikely to be much use. |
R-php | Last updated 2006; the example that I tried gave a server error. |
webbioc | A Bioconductor package. Did not investigate further. |
Rwui | An application to create R web interfaces. My browser hung at “waiting for cache”. I gave up. |
So, aside from RApache and some very old-fashioned and/or broken CGI scripts, I conclude that there is little interest in writing beautiful, modern statistical web applications (notable exception). Not so much a case of “reinventing” as “inventing”.
Take a look at BioCep (http://biocep-distrib.r-forge.r-project.org/).
Cheers, Oliver
What about you use python for the web and let python talk to R with rpy.
http://baoilleach.blogspot.com/2007/11/using-r-from-python-best-of-both-worlds.html
cheers,
chris
Yes, a more “web-native” language as a wrapper is an option I’ve considered (Ruby + RSRuby in my case). There always seem to be niggling issues with wrappers which make me think that using Ruby/Python/whatever to talk to native, server-side R code is a better idea. I think that’s the approach used at Dataspora, mentioned in the post.
I got R working in codenode the other day. See http://codenode.org/ and this thread:
http://groups.google.com/group/codenode-devel/browse_thread/thread/b08516af9bf5759e
It’s pretty new, but codenode is showing a lot of promise. You can try a demo on their site, but it’s easy enough to install.
“There always seem to be niggling issues with wrappers” – amen to that.
Web-scale systems that work best are characterized by loosely-coupled systems that talk through clean, well-defined interfaces.
It’s a philosophy that has worked. The ‘wrap everything-and-the-kitchen-sink inside of language X’ rarely works well (Emacs being a strong exception in my book :).
True, there appears little interest in building statistical web applications, but that’s not a knock against their utility. It’s more of a statement that the combination of skills (love of data + knowledge of R/stats + sense of visual aesthetic + ability to build web apps) is a rarefied intersection.
MD
Absolutely agree, it is a rare combination of skills and interests. I’m told that “data scientist” is the new, sexy term and web development has always been sexy (?), so let’s bring them together! Maybe start teaching web programming in stats courses?