Category Archives: R

Programmare con R

Tipi di variabili in R

python

In questo post approfondiremo il concetto di variabili in ambiente R fornendo una spiegazione sulle differenti tipologie di variabili.Il linguaggio R prevede due tipi di variabili:

1)     variabili globali;

2)     variabili locali;

Come si può intuire, le variabili globali sono accessibili a livello globale all’interno del programma, le variabili locali invece assumono significato solo ed esclusivamente nel settore di appartenenza, risultando visibili solo all’interno del metodo in cui vengono inizializzate.

Per la maggior parte dei compilatori, un nome di variabile può contenere fino a trentuno caratteri, in modo da poter adottare per una variabile un nome sufficientemente descrittivo, in R tale limite non è indicato. La scelta del nome assume un’importanza fondamentale al fine di rendere leggibile il codice; questo perché un codice leggibile sarà facilmente mantenibile anche da persone diverse dal programmatore che l’ha creato.

Abbiamo parlato d’inizializzazione della variabile intesa quale operazione di creazione della variabile; vediamone allora un esempio banale:

> a <- 1

In tale istruzione è stato utilizzato l’operatore di assegnazione (<-), con il significato di assegnare appunto alla locazione di memoria individuata dal nome a il valore 1. Il tipo attribuito alla variabile è stabilito in fase d’inizializzazione; sarà allora che si deciderà se assegnare a essa una stringa di testo, un valore booleano (true/false), un numero decimale etc.

Per approfondire l’argomento:

 

Variabili ed espressioni in R

python

Le Variabili ed espressioni in R sono trattate in modo moderno ed efficiente, infatti mentre nella maggior parte dei linguaggi di programmazione è necessaria una dichiarazione delle variabili utilizzate all’interno del programma, dichiarazione effettuata nella parte iniziale prima della sezione esecutiva dello stesso, in R tutto questo non è richiesto. Poiché il linguaggio non richiede la dichiarazione delle variabili; il tipo e la relativa dimensione saranno decisi nel momento in cui le stesse saranno inizializzate.

Con il termine variabile ci si riferisce a un tipo di dato il cui valore è variabile nel corso dell’esecuzione del programma. È però possibile assegnarne un valore iniziale, si parlerà allora d’inizializzazione della variabile. La fase d’inizializzazione, assume un’importanza fondamentale perché rappresenta il momento in cui la variabile è creata, tale momento coincide con quello in cui a essa è associato un dato valore.

A differenza dei linguaggi cosiddetti compilativi tale procedura può essere inserita in qualunque punto dello script, anche se i significati possono assumere valori differenti.

Nel momento in cui l’interprete s’imbatte in una variabile, deposita il valore relativo in una locazione di memoria e ogni volta che nel programma comparirà una chiamata a tale variabile, si riferirà a questa locazione. È regola di buona programmazione utilizzare dei nomi che ci permetteranno di riferirci in maniera univoca alle specifiche locazioni di memoria in cui i relativi dati sono stati depositati.

Per approfondire l’argomento:

I nomi in R

python

In questo post (I nomi in R) analizziamo le regole da seguire per scegliere correttamente i nomi di costanti, variabili, metodi, classi e moduli, che rappresentano gli elementi essenziali con i quali lavoreremo in questo ambiente.

Un nome in R allora può essere costituito da una lettera maiuscola, minuscola o dal simbolo . (punto), che a loro volta possono essere una qualsiasi combinazione di lettere maiuscole e minuscole, e cifre. I caratteri minuscoli corrispondono alle lettere minuscole dell’alfabeto dalla a alla z, mentre i caratteri maiuscoli corrispondono alle lettere maiuscole dell’alfabeto dalla A alla Z e le cifre da 0 al 9. Il numero di caratteri che compongono il nome non è limitato.

Di seguito riporto alcuni suggerimenti riportati nella guida ad R fornita da Google, su come denominare in modo corretto gli oggetti  (nomi in R) :

  • Non utilizzare mai caratteri di sottolineatura (_) o trattini (-) per identificare un oggetto in ambiente R.
  • Gli identificatori devono essere denominati in base alle seguenti convenzioni.
  • La forma preferita per i nomi delle variabili è di utilizzare tutte lettere minuscole e le parole devono essere separate da punti (variable.name), ma l’identicatore nella forma nomeVariabile è anche accettato.
  • I nomi delle funzioni hanno la lettera iniziale maiuscola e non deve essere utilizzato alcun punto (FunctionName).
  • Le costanti sono identificate allo stesso modo delle funzioni, ma con un k iniziale.

Per approfondire l’argomento:

Indentazione del codice in R

python

Anche se la struttura del linguaggio R prevede dei particolari delimitatori per alcuni blocchi di programma, risulta comunque utile, l’indentazione del codice in R, per la relativa individuazione.

Ricordiamo a tal proposito che per indentazione del codice s’intende quella tecnica utilizzata nella programmazione attraverso la quale si evidenziano dei blocchi di programma con l’inserimento di una certa quantità di spazio vuoto all’inizio di una riga di testo, allo scopo di aumentarne la leggibilità.

Anche se, come già detto, R prevede opportuni delimitatori per alcune strutture del linguaggio, utilizzeremo l’indentazione stessa per indicare i blocchi nidificati; a tal proposito si possono usare sia una tabulazione, sia un numero arbitrario di spazi bianchi.

Nell’utilizzo di tale tecnica è necessario ricordare delle semplici raccomandazione:

  • il numero di spazi da utilizzare è variabile;
  • tutte le istruzioni del blocco di programma devono presentare lo stesso numero di spazi di indentazione.

In tale ottica utilizzeremo la convenzione che prevede l’esclusivo utilizzo di due spazi per individuare un nuovo blocco e di tralasciare l’uso del tab. 

Per approfondire l’argomento:

Guida alla programmazione con R

python

Guida alla programmazione con R rappresenta un manuale di semplice consultazione destinato agli utenti alle prime armi che vogliono affrontare i rudimenti della programmazione utilizzando una piattaforma di programmazione in ambiente R. R si sta sempre più diffondendo nell’ambiente della programmazione in quanto si compone di un linguaggio e di un ambiente di runtime con un’interfaccia grafica, un debugger, l’accesso ad alcune funzioni di sistema, e offre la possibilità di eseguire programmi memorizzati in file di script. Ma R è molto di più, rappresenta infatti un vero linguaggio di programmazione, anzi un linguaggio di programmazione molto avanzato, e ciò permette di adattarlo ad ogni nostra esigenza.

Nella Guida alla programmazione con R sono affrontati tutti gli argomenti necessari per iniziare a programmare in R, in maniera semplice ed immediata partendo da zero. Ricca di esempi ed esercizi la guida ci aiuta nel percorso di apprendimento di un nuovo linguaggio di programmazione senza la necessità di competenze preventive sull’argomento.

Tra gli argomenti trattati nel testo:

-Variabili ed operatori
-Array e matrici
-Liste e dataframe
-Strutture per il controllo del flusso
-Operazioni di ingresso/uscita
-Gestione delle eccezioni
-Visualizzazione dei dati
-Tipi di grafici

L’autore
Ingegnere chimico, svolge la sua attività di tecnico presso la Seconda Università degli Studi di Napoli. Esperto di acustica, vanta una vasta esperienza nella docenza di corsi professionali di informatica e nel campo dell’e-learning; autore e titolare del sito www.ciaburro.it. Ha al suo attivo diverse publicazioni: monografie, riviste scientifiche e convegni tematici.

Elenco degli script R a corredo del testo:

- quadrato : Programma per il calcolo del quadrato di un numero
- calcolo_medie : Programma per il calcolo della media aritmetica e geometrica di due numeri
- radice : Programma per il calcolo della radice quadrata di un numero
- fattoriale : Programma per il calcolo del fattoriale di un numero
- triangolo : Programma per il calcolo dell’ipotenusa del triangolo
- mese : Programma per l’inserimento del numero di un mese da una lista
- solv_eq : Programma per la risoluzione di un’equazione di secondo grado
- uscita : Programma per l’uscita da un ciclo while
- write : Programma per la scrittura di dati in un file
- read : Programma per la scrittura di dati in un file e successiva lettura
- read2 : Programma per la scrittura di dati una riga per volta
- print : Programma per la stampa della lunghezza di ogni linea presente in un file
- aggiungi_testo : Programma per aggiungere del testo ad un file
- aggiungi_testo2 : Programma per aggiungere del testo su più linee

Per scaricare i file cliccare sul link seguente:

Script contenuti nella Guida alla programmazione con R

Link utili:

- Sito ufficiale del progetto R (Download del programma)
- R Studio (Piattaforma Open Source per la programmazione in R)
-The R Journal (Il giornale ufficiale del progetto consultabile gratuitamente)

Requisiti hardware di Rstudio

python

L’ambiente integrato Rstudio ci consente di avviare il calcolo al suo interno di modo da risultare completo; per fare questo però non richiede un grande sforzo in termini di potenza di calcolo da parte della macchina in uso. Dopo aver scaricato il software, per installare il programma sul nostro pc dovremo necessariamente conoscere i requisiti hardware di RStudio.

Ne deriva che i requisiti hardware richiesti per far funzionare RStudio sono minimi, quindi il numero di core, la velocità dei core e la quantità di ram di cui avremo bisogno dipenderà esclusivamente dalla mole di lavoro che l’analisi che stiamo eseguendo necessiterà. Ricordiamo a tal proposito che R è a thread singolo, e come tale, non potrà beneficiare di core aggiuntivi a meno che non si abbia familiarità con le varie librerie che ci consentono di parallelizzare il lavoro e sono quindi in grado di sfruttare più core.

Rstudio

Rstudio

Gli utenti alle prime armi nell’analisi dei dati, è improbabile che avvertano l’esigenza di un processore a più core, se non quelli attualmente installati sulle macchine in commercio e più di 1 gb di ram. Tuttavia, se si ha intenzione di analizzare insiemi di dati di grandi dimensioni (> 1gb) allora la macchina in uso avrà bisogno di una maggiore disponibilità di memoria ram. In generale, la maggior parte delle persone non sfruttano la parallelizzazione in R, e così risulta conveniente avere un processore con un minor numero di core che sono più veloci rispetto a quelli a più core.

Per approfondire l’argomento:

R studio

python

R studio è probabilmente l’unico ambiente di sviluppo sviluppato appositamente per R. È disponibile per tutte le principali piattaforme (Windows, Linux, e Mac OS X) e può essere eseguito su una macchina locale come il nostro computer o anche sul Web utilizzando rstudio Server. Con Rstudio Server è possibile fornire una interfaccia basata su browser (la cosiddetta IDE) a una versione R in esecuzione su un server Linux remoto.

R studio consente di integrare diverse funzionalità che sono estremamente utili, soprattutto se si utilizza R per progetti più complessi.

L’ambiente è composto di quattro diverse aree:

  1. Scripting area: in quest’area è possibile aprire, creare e scrivere i vostri script.
  2. Console area: questa zona è la console R effettiva in cui vengono eseguiti i comandi.
  3. Workspace/History area: in quest’area è possibile trovare una lista di tutti gli oggetti creati nello spazio di lavoro in cui si sta lavorando.
  4. Visualization area: in quest’area è possibile caricare facilmente i pacchetti e aprire file di aiuto R, ma anche cosa ancora più importante, è possibile visualizzare i grafici.
Rstudio

Rstudio

Per approfondire l’argomento:

Editor per script R

python

In questo post analizzeremo per quale motivo utilizzare gli editor per script R disponibili in rete. Per programmare con R, potremo utilizzare un editor di testo qualsiasi e una semplice interfaccia a riga di comando. Entrambi questi strumenti sono già presenti su qualsiasi sistema operativo, quindi volendo, potremo ignorare questo passaggio.

Editor per script in R

Editor per script in R

Questo perchè, quando un programmatore scrive un semplice programma, lo fa utilizzando il text editor blocco note di windows, questo perché per realizzare dei programmi i font, i colori e in generale l’aspetto grafico sono ininfluenti, anzi possono rendere il lavoro del programmatore più ostico.

È questo il motivo per cui negli ambienti di sviluppo del software non sono utilizzati programmi di videoscrittura complessi, programmi questi che invece sono largamente impiegati dagli scrittori, ma piuttosto degli editor di testo semplici (come notepad o blocco note in ambiente Windows oppure vi ed emacs in ambiente linux).

Tali editor, al posto di complicate opzioni per la gestione visuale del testo forniscono funzioni avanzate di trattamento del puro testo, quali ad esempio veloci procedure di spostamento all’interno del testo, ricerche e sostituzioni di parole all’interno del file e di file esterni, riconoscimento di parole chiave del linguaggio di programmazione con la possibilità di evidenziare le stesse colorandole in modo diverso dal resto del testo, ed infine la identazione del testo.

Per approfondire l’argomento:

Come creare uno script in R

python

Per creare uno script in R basterà utilizzare il menu File attraverso la seguente sequenza di comandi:

File => Nuovo script

Si aprirà in questo modo uno script vuoto, starà a noi adesso di popolarlo con del codice di sicuro valore. Una volta che avremo inserito alcuni comandi nella finestra dello script, sarà necessario mandarlo in esecuzione nella console. Naturalmente si può fare il copia-incolla, come al solito, ma è meglio risulta decisamente più rapido nonché più professionale selezionare con il mouse il codice che si intende eseguire e premere i tasti Ctrl + R. In alternativa, si può anche fare clic destro nella finestra e selezionare la voce Esegui linea o selezione.

Esecuzione di uno script

Esecuzione di uno script

Da questo esempio scaturisce una prima considerazione: digitare i comandi direttamente nella shell di R non è davvero la soluzione migliore. Un modo efficace di interagire con la shell è invece di creare uno script  in R . In questo metodo, si può scrivere il codice in una finestra separata e poi si sarà grado di eseguire il codice nella console, in modo che se si avverte l’esigenza di salvare il codice o di eseguirlo più volte non sarà necessario digitare nuovamente il tutto. 

 Per approfondire l’argomento:

La directory di lavoro in R

python

La directory di lavoro in R è fondamentalmente la posizione sul computer in cui R è in funzione. Ciò significa che in tale directory, R è in grado di leggere e scrivere file. È possibile identificare la directory di lavoro con l’aiuto del seguente comando:

getwd ()

È possibile impostare una nuova directory di lavoro attraverso l’utilizzo del comando:

setwd("dir")

dove “dir” è l’indirizzo della directory.

La directory di lavoro in R

La directory di lavoro in R

L’utilizzo di tale comando risulta particolarmente utile quando lo si utilizza all’interno di uno script, questo perché attraverso l’utilizzo della RGui sarà più facile cambiare la directory di lavoro con la seguente sequenza:

File => Cambia dir

Per approfondire l’argomento:

Salvare una sessione di lavoro in R

pythonIn questo articolo impareremo come salvare una sessione di lavoro in R. Quando si chiude R, il programma ci chiederà se si desidera salvare l’area di lavoro sul disco rigido del computer. Tale operazione si rende particolarmente utile nel caso fosse necessario riutilizzare gli oggetti creati in un lavoro futuro.

Fatto questo, il caricamento di uno spazio di lavoro salvato in precedenza ci permetterà di trovare di nuovo tutti gli oggetti che avremo creato nella sessione precedente. La stessa operazione si può eseguire utilizzando i menu della Rgui: per fare questo aprire il menu File => Salva area di lavoro così come mostrato nella Figura seguente.

Salvataggio dell’area di lavoro

Salvataggio dell’area di lavoro in R

 In alternativa, è anche possibile salvare l’area di lavoro con il comando seguente:

save.image ()

In questo modo si creerà un file con nome .RData e tale file verrà memorizzato nella directory di lavoro.

Per approfondire l’argomento: