6 ottobre 2010

Usare R all’interno di Excel

Novembre 2012: Le informazioni contenute in questo post non sono più aggiornate. Per informazioni aggiornate, consultare l’articolo “RExcel”, nella wiki dedicata ad R. Leggi l’articolo

aggiornato il 12 luglio 2011

Il software per l’analisi statistica R ha diverse interfacce, delle quali quella sicuramente più usata e familiare è RCommander (http://cran.at.r-project.org/web/packages/Rcmdr/index.html), che offre menu a tendina per la gran parte delle funzioni di uso più comune (di base ed avanzate).

Esistono però degli addons per Excel e per Calc, che consentono di integrare R con i fogli di calcolo. Il che ovviamente può risultare molto comodo. Io per il momento ho provato il pacchetto per Excel, disponibile sul sito del CRAN. In una prossima puntata, in omaggio all’opensource radicale, vi aggiorno anche su quello per Calc di OpenOffice.

RExcel è un addon per Excel, che funziona dalla versione di Office 2003 in avanti, e sui sistemi Windows (almeno) da XP in avanti, e si integra anche molto bene con RCommander.

Se nel computer non è installato R, la cosa più semplice è scaricare il package RAndFriends (RAndFriendsSetup), che installa e configura automaticamente tutto il necessario, ovvero (al momento in cui scrivo):

  • R 2.11.1
  • rscproxy 1.3-1
  • rcom 2.2-1

Per una versione aggiornata, visitate la pagina http://sunsite.univie.ac.at/rcom/.

Se invece sul vostro computer è già installato R, e non lo dovete aggiornare, è forse preferibile installare direttamente da R i pacchetti necessari, ovvero ‘rcom’, ‘rscproxy’ e ‘RExcelInstaller’. Affinché la procedura vada a buon fine, in Windows Vista e Windows 7 è necessario eseguire R come amministratori, ovvero cliccare con il tasto destro del mouse sull’icona di R (nel menu Start, sul Desktop o dovunque essa sia), e selezionare “esegui come amministratore”.

1) scaricare ed installare i pacchetti:

> install.packages(“RExcelInstaller”,“rcom”,“rsproxy”)

2) chiamare rcom e configurarlo:

> library(rcom)
> comRegisterRegistry()

3) chiamare  l’installer

> library(RExcelInstaller)

4) installare RExcel:

> installRExcel()

Per eseguire il tutto serve naturalmente la connessione ad Internet, nonché – lo ripeto perché personalmente mi ci sono impazzita – avere le autorizzazioni di amministratore.

Alla fine, sul desktop dovrebbe essere comparsa l’icona di “RExcel with RCommander“: se avete Vista o Windows 7, cliccate con il tasto destro ed eseguite come amministratori. Personalmente, non ho trovato questa indicazione nelle guide, può darsi dunque che serva solo per Windows7. Ma non credo.

integrazione di R in Excel

In Excel, troverete un nuovo menu ed anche nuove barre degli strumenti. Per esplorare le funzionalità di questo addon, consultate la guida (Reference manual) RExcelInstaller.pdf.

Per evitare di dover richiamare la libreria rcom ogni volta che si apre R, bisogna modificare il file Rprofile.site, che (in Windows 7 – 64) si trova nella cartella  C:\Program Files (x86)\R\R-2.11.1\etc\ e comunque nella cartella \etc\ della cartella \R\R-2.11.1\ (che si trova generalmente nella cartella Programmi, o Program files).

Il file può essere aperto con il Blocco Note, ma così com’è non può essere salvato. Per farlo, è necessario modificare i permessi del file stesso, cliccando con il tasto destro del mouse sul file, poi su “Proprietà” > Sicurezza. Selezionate il vostro account utente e modificate i permessi spuntando la casella “Scrittura”.

A questo punto aprite il file con il Blocco note (dovrete indicare l’applicazione da usare), ignorate quello che vedete scritto, ed aggiungete in fondo la riga (deve proprio essere una nuova riga, altrimenti non funziona)

library(rcom)

Salvate il file e (vi consiglierei) ripristinate le restrizioni iniziali: in pratica, revocate il permesso di scrittura all’utente, togliendo la spunta dalla relativa casella. Non si sa mai.

A parte la procedura alquanto macchinosa, ed un po’ da smanettoni, il vero inconveniente è che ogni volta bisogna avviare tanto R quanto Excel da amministratori (non su XP, però: in teoria infatti, aprendo Excel, R dovrebbe girare in background). Questo accade perché la connessione fra i due programmi interviene su alcuni processi di sistema, ed i nuovi sistemi Windows sono più protetti.

Il vantaggio è però notevole, in quanto non solo è possibile accedere ai processi di R da Excel – ampliando notevolmente le funzioni di analisi presenti in quest’ultimo -, ma è anche possibile scrivere delle macro per Excel con R.

logo di R Se sei interessato a questo articolo, potrebbe interessarti la guida di R che sto preparando in una wiki dedicata. Puoi consultare gli articoli aggiornati, scaricarli in PDF e ODT (il formato di OpenOffice), e contribuire al suo mantenimento.

Archivi