Benvenuti alla home page del progetto r-gui.


R-gui è un progetto di sviluppo software promosso dall'Università di Trento, in particolare dal Presidio Informatico di Trento e da quello di Rovereto.

Il fine "ristretto" del progetto è la creazione di una serie di piccoli programmi che offrano una interfaccia grafica verso funzionalità specifiche di R (http://www.r-project.org); non quindi una unica interfaccia generica a tutto R ma molte interfacce specifiche per "progetti specifici".

Il fine "allargato" del progetto è la creazione di un insieme di strumenti, di documentazione, di esempi etc. che faciliti la creazione di questi programmi e il riuso del lavoro già fatto.

Su questo sitopotete trovare dei documenti che illustrano le motivazioni di questo progetto, il software di base scelto per sviluppo e il deploy, gli Strumenti Software di supporto al progetto.


Motivazioni.

Le motiviazioni di base di questo progetto sono sostanzialmente due:

  1. esiste una base di "utenti" che usano vari software "di statistica", molti di questi distribuiti con licenze che richiedono il pagamento di "canoni" di vario tipo;
  2. molti di questi utenti potrebbero probabilmente sostituire i programmi attuali con R, ma avrebbero bisogno di supporto; in particolare per molti utenti R "è troppo complicato" e poi "non ha una interfaccia grafica"

Questo progetto mira quindi ad indentificare degli utenti specifici, o delle necessità specifiche, e a sviluppare delle "soluzioni mirate" di uso molto semplice e, non meno importante, una comunità di utenti e di persone di supporto, per la quale questo sito costituisce il punto di incontro iniziale.

Affinché lo sviluppo di queste soluzioni non sia un evento sporadico, il progetto prevede anche la creazione dei presupposti (software di sviluppo e supporto, documentazione, esempi, etc) che rendano "facile" continuare ed espandere il lavoro fatto "in prima battuta".

Torna all'inizio ---->

 


Software di base.

Visto che si devono produrre dei programmi che si appoggino ad R, è evidente che serve un toolkit grafico, la libreria R e qualcosa per collegarli. Come toolkit grafico è stato scelto GTK+ (http://www.gtk.org), come collante Python (http://www.python.org).

Per collegare Python e GTK+ si usa la libreria PyGTK (http://www.pygtk.org), per costruire le interfacce si usa Glade (http://glade.gnome.org) e per accedere alla definizione delle interfacce da Python si usa libglade (http://www.jamesh.id.au/software/libglade).

Per collegare Python a R, o meglio alla libreria che fornisce un interprete R, si usa rpy (http://rpy.sourceforge.net).


Dettagli:

I prerequisiti per il funzionamento del software variano, nel dettaglio, a seconda della piattaforma (Linux vs. Windows).

Linux:

Per Linux, usando i pacchetti precompilati, ci sono le solite differenze dovute alle distribuzioni. La distro di riferimento, perché usata da Luca Manini, è Debian (http://www.debian.org).

Debian:

Il sistema di distribuzione di Debian si basa su dei file .deb di solito recuperati via rete (usando programmi come apt o synaptic), quindi basta avere la lista dei deb. La cosa più comoda, in realtà è sapere quali sono i due o tre package che hanno, tra le loro dipendenze, tutto ciò che serve (tra l'altro, in questo modo, sarebbe banale fare un meta-package!).

Ci sono alcune cose importanti da ricordare:

  1. in Debian molti package sono generici, nel senso che non specificano la versione; il package python fa riferimento alla versione più recente disponibile. Ad esempio, al momento (giugno 2006) la versione corrente di Python è la 2.4, ma non tutti i package che dipendono da Python sono aggiornati, quindi su una macchina "generica" serve magari ancora anche la 2.3.

  2. il comando apt-cache show <package> mostra più "dettagli" sulle dipendenze se il package non è generico. Ad esempio, per python-rpy dà come dipendenze solo python (>= 2.3 << 2.4) e ptyhon2.3-rpy, ma se si specifica ptyhon2.3-rpy, si scoprono i pacchetti "veri" (es: python2.3-numeric, r-base-core).

  3. il comando dpkg-depcheck <comando> esegue <comando> sotto strace (scoprendo quindi tutti i file "caricati") e da questo deduce e mostra la lista dei pacchetti necessari.

  4. il comando apt-cache depends <package-list> fornisce le dipendenze dirette di uno o più pacchetti; ad esempio:

    apt-cache depends python2.3-rpy python2.3-gtk2 libglade2-0  

    dà una lista che a me pare completa (per il deploy), quindi l'installazione di questi tre pacchetti dovrebbe "tirare" tutto il resto.

Comunque, in linea di massima i pacchetti fondamentali sono:

python  r-base-core  python-rpy  libgtk2.0-0  python-gtk2  libglade2-0  python-glade2  

Windows :

La procedura per l'installazione sotto Windows è stata semplificata grazie all'uso di py2exe e di InnoSetup

Il primo permette di "impacchettare" dei sorgenti Python in un eseguibile Windows stand-alone che non ha bisogno di una installazione di Python per funzionare ma che si appoggia ad un certo numero di DLL e di altri file che vengono però dstribuiti in una unica directory; semplificando quindi di molto l'installazione. Il secondo è un software gratuito per la creazione di programmi di installazione per Windows.

A questo punto i "pacchetti" da installare si riducono a tre:

1) R: collegarsi a http://www.r-project.org e seguire i link ai vari mirror di CRAN oppure provare un link diretto come questo

2) le librerie di GTK+: collegarsi a http://gladewin32.sourceforge.net/modules/news e scaricare dal usando il link "Gtk+/Win32 Runtime Environment Installer 2.8.18-1 (.exe, 5.27M)"

Non e' dato capire bene le connessioni tra i vari pezzi di GTK (dipendono quantomeno da chi ha pacchettizato cosa, dove e quando). Una buona fonte e' comunque:

http://www.pygtk.org/downloads.html  

da cui si possono scaricare queste due parti che, di solito, mancano e sono invece indispensabili:

http://ftp.gnome.org/pub/GNOME/binaries/win32/pygtk/2.10/pygtk-2.10.1-1.win32-py2.4.exe  http://ftp.gnome.org/pub/GNOME/binaries/win32/pygobject/2.12/pygobject-2.12.1-1.win32-py2.4.exe  

Torna all'inizio ---->