Fehlerbehebung beim Perlmodul Statistics::R
Wer aus vielerlei nennbaren Gründen R einer gängigen Statistiksoftware vorzieht—und wer zudem aus Perl heraus mit R kommunizieren will, um z.B. die ganzen schönen Berechnungen einfach von Perl aus in R durchführen zu lassen, braucht das Modul Statistics::R. Eigentlich braucht man’s nicht unbedingt, weil man sich auch aus der Shell via Batchmode einigermaßen mit R verständigen kann.
R CMD BATCH [options] infile [outfile]
So richtig schön wird’s aber erst mit dem Modul, das uns Graciliano M. P. glückerlicherweise zur Verfügung gestellt hat.
Lädt man das Modul mit CPAN auf eine der neueren Versionen von R, so hängt sich test oder install auf. Eine Fehlermeldung erscheint: Unkown GUI none.
Im R help archive liest man dann nur sowas: “Habt Ihr etwa einen Code für eine frühere Version von R verwendet? Tsts!”
Ja, haben wir wohl. Eine Lösung wäre für uns “User” indes viel hilfreichreicher gewesen und so:
Re: [R] CGIwithR ERROR: unknown GUI none
Hier ist deshalb eine Lösung, die nach einigem Rumprobieren bei mir auf einer SuSE 9.3 64 Bit funktioniert hat:
1. Cpan anwerfen
Einfach das CPAN Skript wie gewohnt starten.
2. get Statistics::R
Das Packet herunterladen…
3. make Statistics::R
Auspacken und so weiter….
4. Veränderungen an dem Modul Linux.pm durchführen.
Dies sollte nach make geschehen, sonst geht’s nicht, weil make wieder die ursprünglichen Dateien auspackt.
Im .cpan Verzeichnis nachsehen, wo Statistics::R ist. Darunter je nach Installationspräferenz eine der beiden folgenden Dateien editieren (oder halt beide—schadet nichts).
lib/Statistics/R/Bridge/Linux.pm
blib/lib/Statistics/R/Bridge/Linux.pm
Zu ändern ist die Zeile:
$this->{START_CMD} = “$this->{R_BIN}—slave—vanilla—gui=none” ;
in:
$this->{START_CMD} = “$this->{R_BIN}—slave—vanilla” ;
5. test Statistics::R;
gucken, ob’s jetzt funktioniert.
6. install Statistics::R;
Naja, irgendwann will man’s ja dann auch endlich wieder benutzen.
Irgendwo habe ich nach langem Stöbern auch gelesen, man solle gui=none durch gui=X11 ersetzen. Das habe ich probiert, jedoch mit vergleichbar unerfolgreichem Ergebnis: gleiche Fehlermeldung und Aufhängen vom CPAN Modul wie mit gui=none.
Ich habe absolut keine Ahnung, ob dieser Workaround so richtig gut ist. Aber er funktioniert mit all meinen Perl-Scripten ohne Murren. Für Hinweise und andere (bessere) Ideen bin ich natürlich dankbar.
Hier der CPAN-Link mit dem einfachen und sehr nützlichen Modul Statistics::R von Graciliano M. P.:
CPAN Modulseite von Statistics::R
Und wer gerne mehr über R erfahren möchte:
The Comprehensive R Archive Network
Mittwoch, 2. März 2011 16:46
Na das ist ja mal hilfreich. Leider habe ich das schon selbst herausgefunden.
Solltest Du Deinen R code in eine Perl classe verpackt haben wäre es vielleicht nett, wenn Du das irgendwo publizieren könntest. Was Statistik angeht hat Perl nämllich zueimlichen Nachholbedarf – meiner bescheidenen Meinung nach….