A friend needs to do some R programming for her PhD and since I\'m a programmer, asked me to give her a hand.
So I took a look at some r related webstuff and discovered
This presentation summarises the alternatives.
Both discussed in others' answers, both haven't been updated years.
Rserve is a Java TCP/IP server that the native Ruby client can connect to.
I've just tested out this approach and it's extremely easy.
sudo apt-get install -y r-base ruby-gems # Just in case...
sudo R
> install.packages("Rserve")
> library(Rserve)
> Rserve()
# (In another window - not sure how the 'daemon mode' operates exactly.
sudo gem install rserve-client
irb
> require "rserve"
> include Rserve
> c = Connection.new
> x = c.eval("R.version.string");
> puts x.as_string
R version 2.10.1 (2009-12-14)
=> nil
rApache is a web application framework for R (just like Rails is for Ruby). I think Rook is a shim to allow rApache to work on non-Apache webservers. So the approach here (I think) is to run rApache and Rails side by side. Your Rails app can call rApache/Rook as needed to perform queries, or to hand over control for rendering graphs etc.