Каков рекомендуемый интерфейс R для интеграции Perl? - PullRequest
5 голосов
/ 03 ноября 2010

Я никогда не имел дела с R, поэтому мне было интересно, может ли кто-нибудь порекомендовать (из личного опыта или из нескольких обзоров / сравнений), какой из нескольких модулей интеграции Perl / R считается «наилучшей практикой»? В идеале то, что могло бы как-то претендовать на готовность к производству.

Google показывает несколько разных модулей, но я не совсем уверен, как оценивать варианты, имея нулевой предыдущий опыт R или статистику (вопрос пришел от сотрудника, который интересовался использованием R)

Ответы [ 6 ]

7 голосов
/ 03 ноября 2010

Да, похоже, Статистика :: R , вероятно, ваш лучший выбор. Он был недавно обновлен, Брайан Кэссиди - компетентный разработчик, и он проходит свои тесты CPAN на дым.

Существует также Статистика :: useR , она была затронута относительно недавно, но кажется, что она не соответствует системе тестирования дыма CPAN, что меня немного нервирует.

Тем не менее, я не использовал ни один из них.

3 голосов
/ 03 ноября 2010

Я лично не использовал это, но Statistics::R выглядит интересно.Он получил 3-звездочный обзор на CPAN рейтинги и в настоящее время проходит подтяжку лица с новым сопровождающим.

/ I3az /

2 голосов
/ 03 ноября 2010

Каковы ваши фактические требования с точки зрения

  • ОС, на которой работает R
  • ОС, на которой работают клиенты Perl
  • тип запроса, который вы планируете: «консервированный» или интерактивный

и т. П.

Я давно поклонник Rserve как безголового R-бэкэнда, но я не могу вспомнить, был ли клиент Perl.

1 голос
/ 24 декабря 2014

Я только что выпустил Статистика :: NiceR .Он поддерживает почти все типы данных R, включая data.frame s.

Это ранняя версия, поэтому я хотел бы получить отзывыВот как это выглядит:

#!/usr/bin/env perl
use v5.16;
use Statistics::NiceR;
use Data::Frame::Rlike;

my $r = Statistics::NiceR->new;
my $iris = $r->get('iris');

say "Subset of Iris data set";
say $iris->subset( sub { # like a SQL WHERE clause
                  ( $_->('Sepal.Length') > 6.0 )
                & ( $_->('Petal.Width')  < 2   )
        })->select_rows(0, 34); # grab the first and last rows

, который выводит

Subset of Iris data set
-----------------------------------------------------------------------
      Sepal.Length  Sepal.Width  Petal.Length  Petal.Width  Species
-----------------------------------------------------------------------
 51   7             3.2          4.7           1.4          versicolor
 147  6.3           2.5          5             1.9          virginica
-----------------------------------------------------------------------
1 голос
/ 03 апреля 2014

Если вы хотите просто прочитать файлы данных R, мой модуль Статистика :: R :: IO будет соответствовать всем требованиям.Это чистая реализация Perl, которая читает как файлы RDS, так и файлы RData.

Начиная с версии 0.4, выпущенной на прошлой неделе, вы также можете использовать ее в качестве клиента Rserve.

0 голосов
/ 31 марта 2013

Я недавно добавил Статистика :: RserveClient в CPAN.Это позволяет приложениям Perl взаимодействовать с (возможно, удаленным) сервером Rserve через двоичный протокол с установлением соединения.Вы отправляете R-код на сервер в виде строк, а результаты возвращаются в виде структур данных perl.

Существует ряд недостатков: мы пока не поддерживаем длинные пакеты или неправильно работаем с определенными гетерогенными структурами,но код находится в активной разработке, и он отлично работает для наших основных приложений.

Код GPL, размещенный на https://github.com/djun-kim/Statistics--RserveClient

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