Statistics-R reviews

RSS | Module Info

Statistics-R (0.31) ****

Offers a very simple connection to R but does it well. Documentation could be expanded slightly.

Statistics-R (0.29) ****

I think previous ratings refer to very early versions of the module. It works much smoother now (vesions >= 0.20) and makes interfacing with R a breeze.

Statistics-R (0.07) ***

There's a bug in new() method?
The options are not passed down.
I have to change $this->R to $this->R(@_) to make it work.

Statistics-R (0.07) *****


Thank you for the update of this module. I am used it every time I need
to use R in perl since several years.
The module code is now very simple and easily to maintained, good job.

Best Regards,


Statistics-R (0.07) ****

Update: Brian Cassidey has done a great job adopting, maintaining and improving this module.

Previous Review for Version < 2.0:
This module is a quick and dirty solution that has gone unmaintained. There are several bugs that cause it to fail. I tried contacting the author on several occasions and in several locations: cpan, google, module-authors. I was offering to take up maintenance. I could not find him so I have forked the module and am maintaining it as unofficial release version > 2.

Statistics-R (0.02) *

I've been looking for a way to use the powerful "R" package from Perl for a while. There is an "RSPerl" package which does various XS tricks to support a bi-directional interface. Unfortunately, it is not installable from CPAN and does not work on non *nix systems. Then, there is Statistics::R.

Generally, I don't like those flaming, unproductive 1-star ratings which bash other people's hard work. But now and then, I come a cross a module that just scares me. Here is why:

Statistics::R is an interface to the R library which opens the R shell via pipes and sends plaintext commands to it. Now, this is probably the worst way to interface to anything, but sometimes it's also the easiest by far. Oh well. This wouldn't have been as bad if the module wasn't doing downright weird things internally. Here's a gem:

$this->{HOLD_PIPE_X} = ++$HOLD_PIPE_X ;

*{"HOLD_PIPE$HOLD_PIPE_X"} = $read ;

Uh, $this is a, umm, global variable. Yes, you read correctly. The package implements singletons via a single global variable. The horrors don't stop there either: Each and every method/subroutine contains a 2-3 line copy&pasted header to make this work:

sub error { my $CLASS_HPLOO ;$CLASS_HPLOO = $this if defined $this ;my $this = UNIVERSAL::isa($_[0],'UNIVERSAL') ? shift : $CLASS_HPLOO ;my $class = ref($this) || __PACKAGE__ ;$CLASS_HPLOO = undef ; &Statistics::R::error ;}

Note that unless cpanratings formats the code differently, this is the original format.

If, for some reason, the R interpreter refuses to start, which happens on Linux with any reasonably recent version of R, the method that starts the R interpreter loops forever with a test for a PID file and a select statement inside. Ouch.

Finally, there are various unanswered RT tickets. (Including two mentioning the bug outlined above.)

As much as I would like to use this module and as much work as it might have been writing it, this is not production grade code. I suggest you stay away unless you have no choice. Sorry.

Statistics-R (0.02) ****

I intsall it on redhat linux 9 and fedora core2, it works fine, i am very happy with it. however if there are more examples, it will be great.( I am not very good at R).
1 hidden unhelpful review