В этой презентации обобщены альтернативы.
Библиотека
Оба обсуждались в ответах других, оба года не обновлялись.
Резерв с клиентом Ruby
Rserve - это сервер Java TCP / IP, к которому может подключиться нативный клиент Ruby.
Я только что проверил этот подход, и он чрезвычайно прост.
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 - это фреймворк веб-приложений для R (точно так же, как Rails для Ruby). Я думаю, что Rook - это оболочка, позволяющая rApache работать на не-Apache веб-серверах. Таким образом, подход здесь (я думаю) состоит в том, чтобы запустить rApache и Rails бок о бок. Ваше приложение Rails может вызывать rApache / Rook по мере необходимости для выполнения запросов или для передачи управления для отображения графиков и т. Д.