Funzioni R: nozioni fondamentali e utilizzo
R è un linguaggio di programmazione utilizzato in molti ambiti dell’analisi dei dati e della statistica. Tra i principali concetti della programmazione in R vi sono le funzioni, che aiutano a rendere il codice più chiaro e modulare.
A cosa servono le funzioni in R?
Le funzioni in R servono a strutturare, organizzare e riutilizzare il codice. Sono particolarmente utili per eseguire analisi complesse, per vaste operazioni di elaborazione di dati o per analisi su misura. La scrittura di funzioni in R offre una serie di vantaggi:
- Astrazione: le funzioni in R permettono di incapsulare processi o calcoli complessi in una singola interfaccia di facile comprensione. In questo modo si facilita la manutenzione e la lettura del codice.
- Riutilizzabilità: le funzioni R consentono di eseguire ripetutamente un determinato blocco di codice senza doverlo riscrivere ogni volta. Così facendo si risparmia tempo e si riduce la tendenza agli errori.
- Modularità: le funzioni R permettono di suddividere un progetto di grandi dimensioni in piccole parti più gestibili.
La sintassi delle funzioni in R
La sintassi delle funzioni in R è coerente e segue un modello chiaro. Una funzione in R è costituita da diversi componenti principali:
- Nome della funzione: indica solitamente il compito svolto dalla funzione.
- Argomenti: gli argomenti sono valori o variabili che decidi di assegnare alla funzione e che vengono elaborati dalla funzione stessa. Una funzione può accettare un numero di argomenti a piacere (e anche nessuno). Inoltre, nelle funzioni R è anche possibile utilizzare dei valori come argomenti.
- Corpo della funzione: il corpo della funzione contiene il codice che viene eseguito all’interno della funzione ed è racchiuso fra parentesi graffe. Questo codice può accedere agli argomenti ed elaborarli.
-
Valore restituito: la maggior parte delle funzioni in R restituisce un valore che rappresenta il risultato del calcolo per mezzo di
return()
. Questo valore restituito può essere usato per utilizzare il risultato della funzione in altre parti del codice.
Il semplice esempio che segue mostra una funzione R per la somma di due numeri:
my_add <- function(a, b) {
result <- a + b
return(result)
}
RIn questo esempio, my_add
è il nome della funzione, a
e b
sono gli argomenti, il corpo della funzione esegue l’addizione e return(result)
restituisce il risultato. Inoltre, puoi notare che la definizione della funzione R è introdotta dalla parola chiave function
.
Una funzione può contenere anche valori predefiniti per gli argomenti ai quali è possibile ricorrere se non viene assegnato nessun argomento. Con i valori predefiniti, la funzione R precedente si presenterebbe così:
my_add <- function(a = 1, b = 2) {
result <- a + b
return(result)
}
RA questo punto, richiamando la funzione senza aver assegnato alcun argomento, viene restituito il valore 3
.
Se desideri mettere online il tuo progetto in R, IONOS ti offre la possibilità di noleggiare il tuo spazio web personale con spazio sufficiente per progetti web di ogni tipo.
Funzioni preinstallate in R
R dispone di una vasta raccolta di funzioni preinstallate, note anche come comandi R, che puoi utilizzare per diversi scopi. Queste funzioni sono disponibili e utilizzabili in R senza doverle definire in precedenza. Inoltre, puoi sostituire alcune funzioni con degli operatori in R: ad esempio, nel caso dell’addizione, puoi usare l’operatore +
.
Se non hai appena iniziato a studiare la programmazione, di sicuro hai già incontrato alcune delle funzioni predefinite qui descritte in altri linguaggi di programmazione:
- mean(): calcola la media dei numeri
- plot(): una funzione di plotting per la realizzazione di grafici e diagrammi in R
- read.csv(): legge e carica i dati da un file CSV
- toupper(): converte in lettere maiuscole tutti i caratteri di una stringa in R
- sum(): calcola la somma dei numeri
- print(): emette i valori sulla console
L’esempio seguente mostra l’utilizzo della funzione preinstallata mean()
in R. Nella variabile result
, alla fine del codice si trova la media di tutti i numeri del vettore in R numbers
.
numbers <- c(2, 4, 6, 8, 10)
result <- mean(numeri)
RScrittura di funzioni R personalizzate
La creazione di funzioni in R personalizzate è una parte fondamentale della programmazione con questo linguaggio e ti permette di creare funzioni su misura per le tue esigenze. A tal fine devi semplicemente rispettare la sintassi di R e pensare agli argomenti che servono alla tua funzione.
Ad esempio, una semplice funzione R personalizzata che restituisce il valore di un numero potrebbe presentarsi nel modo seguente:
my_abs <- function(x) {
if (x < 0) {
return(-x)
} else {
return(x)
}
}
RNell’esempio qui sopra, la funzione accetta un argomento x
. Nel corpo della funzione si utilizza quindi un’istruzione if di R per verificare se si tratta di un numero positivo o negativo. Il valore restituito viene quindi adattato di conseguenza.
Utilizzo delle funzioni in R
Dopo aver creato una funzione, puoi utilizzarla nel tuo codice R richiamando il nome della funzione e assegnando gli argomenti necessari. L’utilizzo di funzioni personalizzate è analogo all’uso di funzioni R predefinite.
Questo esempio mostra l’utilizzo della funzione my_abs
appena creata:
result <- my_abs(-5)
print(result)
REseguendo il codice dell’esempio noterai che sullo schermo compare un 5
. Il calcolo del valore assoluto per mezzo della funzione porta quindi al risultato corretto.