Diese Präsentation fasst die Alternativen zusammen.
Bibliotheken
Beides wurde in den Antworten anderer erörtert, beides ist seit Jahren nicht mehr aktualisiert worden.
Rserve mit Ruby-Client
Rserve ist ein Java TCP/IP-Server, mit dem sich der native Ruby-Client verbinden kann.
Ich habe diesen Ansatz gerade ausprobiert und er ist extrem einfach.
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 ist ein Webanwendungs-Framework für R (genau wie Rails für Ruby). Ich denke, Rook ist ein Shim, der es rApache ermöglicht, auf Nicht-Apache-Webservern zu arbeiten. Der Ansatz ist also, rApache und Rails nebeneinander laufen zu lassen. Ihre Rails-Anwendung kann rApache/Rook bei Bedarf aufrufen, um Abfragen durchzuführen oder um die Kontrolle für das Rendern von Graphen usw. zu übergeben.