Archivio tag: script

Il sale della terRa

L’ultimo pezzo di Ligabue è kawaii (spiegazioni qui e qui). Però sono lontani i fasti di Radiofreccia. Il tempo passa per tutti, e a onor del vero, il Liga invecchia bene, e non è da tutti.

Anyway. Il titolo del pezzo ci fa gioco nell’introdurre il tema di questo post. Il sale di R sono gli scripts: sono quelle piccole (o lunghe) sequenze di compiti organizzati a far girare un pacchetto, che in sé è solo una lista di comandi.

Ma prima: consigli per gli acquisti…

Nel numero in edicola di Le Scienze (Dicembre 2013) c’è un interessante articolo sui big data che consiglio a tutti di leggere. Il succo dell’articolo è che mantenere contatti e interazioni sociali favorisce la produttività, la creatività e può essere benefico anche per la qualità di vita. Più che le interazioni virtuali (e-mail, chat, social networks) funziona il face to face (ed anche la salute ne guadagna, come dice il Guccio).

Inoltre, esplorare ambiti lontani da quelli abituali e tipici del proprio gruppo garantisce un ulteriore miglioramento delle prestazioni e del benessere individuale. Come volevasi dimostrare…

L’universo di R è una buona opportunità per esplorare mondi lontanissimi, ed anche può servire come stimolo a sviluppare le propri relazioni sociali.

In effetti, per muovere i primi passi in R avrete bisogno di una discreta dose di face to face con qualcuno che padroneggi il linguaggio. Devo adesso confessare che quando alcuni anni fa Massimilano Pastore (profeta di R e del calcolo bayesiano) organizzò un corso di R a Cagliari io rifiutai quell’occasione di apprendimento.

Avevo odiato il DOS, essenzialmente per il motivo che un sistema basato su comandi testuali è parecchio vendicativo. Sbagli una virgola, e subito scatta l’allarme di “errore”, spesso senza specificare dove l’errore si è verificato. A Padova mi ero innamorato della mela morsicata e dei suoi sistemi a “tendine”. Per me il sistema a finestre era il futuro nell’uso dei calcolatori, e non avevo intenzione di immergermi nella nebbia steampunk che allora circondava R.

Su uno dei primi MacIntosh anche avevo iniziato a muovere i primi passi nell’analisi dei dati. Durante il mio internato in Farmacologia, a Cagliari, la statistica era stata per me una sequenza di formule da impostare su una calcolatrice Texas Instruments, all’epoca una roba molto avanzata. Quegli algoritmi restavano per me delle formule “magiche”, atte a produrre la sospirata p < 0.05 necessaria per giudicare della riuscita di un esperimento. L’incontro con StatView (requiescat in pace) mi permise di affinare le mie tecniche di analisi, ed anche di comprendere meglio e sempre di più cosa stessi facendo nell’applicare un test statistico.

Tornato a Cagliari mi riappacificai con SPSS™ (ma solo dopo l’implementazione del sistema a “tendine”), e per anni quello fu il mio pacchetto statistico di riferimento. Poi, istigato da Gianmarco Altoè, mi avvicinai ad R. Il resto l’ho già raccontato.

Muovere i primi passi in R richiede pazienza. È necessario scoprire come si fanno le cose. Ad esempio, come si carica un file, o come si specifica che vogliamo operare su un insieme di dati. All’inizio, quindi, serve la guida di un esperto. Prof. Altoè e Davide “Mago” Massidda sono prodighi di consigli. Ma non si può abusare del tempo altrui (time is money). D’altra parte, uno smanettone che si rispetti le soluzioni ai problemi che incontra le trova da sé (anche per evitare di gettare l’interpellato nel doloroso stupore).

Una buona regola è di dare una sbirciata (o due) ai manuali disponibili sul sito del R-project.

Ancora più utili sono le cards con le liste dei comandi base: ad esempio, questa oppure questa.

Uno smanettone che si rispetti, però, non consulta il manuale. Va avanti per tentativi ed errori, finché non trova la soluzione più adatta al suo problema. Io mi sono dato la regola che dopo tre insuccessi mi adatto a consultare uno dei manuali a disposizione dell’utente. Oppure mando una mail ai miei consultants (così imparano a propagandare l’uso di R). Oppure ancora mi faccio un giro in rete, alla ricerca di siti in cui quel problema sia stato affrontato, e sperabilmente risolto. Se ne parla la prossima volta.

Stay Tuned for our next episode!

Antonello Preti

Eseguire script R in batch

Ogni sistema operativo è dotato di un interprete che consente di eseguire delle istruzioni a riga di comando. In ambiente Windows, è sufficiente premere sul pulsante Start e nella casella di ricerca inserire la dicitura “cmd” (che sta per “commander”) per attivare un terminale che ricorda molto – per chi l’ha conosciuto – il caro e vecchio DOS. In questo terminale possiamo interagire col sistema operativo a riga di comando.

In realtà, piuttosto che scrivere nel terminale, spesso risulta comodo raccogliere tutte le istruzioni in un unico file di testo, chiamato file batch, che se eseguito lancerà in blocco tutto il codice.

Se R è installato nel nostro sistema operativo, possiamo eseguire uno script R “in batch”. Il file batch, che può essere creato attraverso un qualsiasi editor di testo, dovrà contenere una sola riga:

R CMD BATCH script.R output.R

dove script.R è lo script R da eseguire e output.R è un file, generato in automatico, che conterrà tutti gli output di R. Il file dovrà essere salvato con estensione o .bat o .cmd; sarà sufficiente cliccarci sopra due volte perché venga silenziosamente attivato R, venga eseguito lo script e tutti gli output salvati.

Per eseguire in automatico uno script R possiamo anche agire direttamente da R, utilizzando il comando source:

source("script.R")

L’esecuzione di script R in batch potrebbe apparire un semplice esercizio di stile, ma in realtà la cosa può tornare davvero comoda per eseguire operazioni routinarie come report giornalieri: semplicemente cliccando su un file avremo tutto il lavoro svolto in automatico!