Может ли Ruby взаимодействовать с r? - PullRequest
13 голосов
/ 10 сентября 2010

Подруга нуждается в программировании R для своего доктора, и, поскольку я программист, попросила меня помочь ей.

Итак, я взглянул на некоторые r связанные webstuff и обнаружил, что вы можете взаимодействовать с ним через RPy (python) и статистику :: R ( Perl). Есть ли способ для Rubyists подключиться к R?

Есть ли манекен по обучению R (например, видеоряд)?

Ответы [ 4 ]

11 голосов
/ 06 февраля 2013

В этой презентации обобщены альтернативы.

Библиотека

Оба обсуждались в ответах других, оба года не обновлялись.

Резерв с клиентом 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 и Rook (ранее "rarack")

rApache - это фреймворк веб-приложений для R (точно так же, как Rails для Ruby). Я думаю, что Rook - это оболочка, позволяющая rApache работать на не-Apache веб-серверах. Таким образом, подход здесь (я думаю) состоит в том, чтобы запустить rApache и Rails бок о бок. Ваше приложение Rails может вызывать rApache / Rook по мере необходимости для выполнения запросов или для передачи управления для отображения графиков и т. Д.

8 голосов
/ 10 сентября 2010

См. RSRuby для получения доступа к функциональности R через Ruby.

Что касается учебника для начинающих, попробуйте посмотреть "R для начинающих" .Я нашел это полезным, когда мне пришлось выучить базовый R для курса статистики.

2 голосов
/ 04 октября 2010

Существует также Ruby клиент для Rserve.

2 голосов
/ 14 сентября 2010

RinRuby - это еще один проект с интерфейсом Ruby / R.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...