[1] 5
Le funzioni sono un argomento relativamente complesso ed avanzato. Lo tratteremo più avanti. Siccome le usiamo fin da subito (es. funzione mean per calcolare la media) è importante avere chiari alcuni aspetti:
Possiamo pensare alle funzioni in R in modo analogo alle classiche funzioni matematiche. Dati dei valori in input, le funzioni eseguono dei specifici calcoli e restituiscono in output il risultato ottenuto.
Abbiamo già visto che ogni cosa in R è un oggetto. Anche le funzioni seppur molto diverse da altri elementi sono creati e trattati in R come oggetti. In questo esempio, creiamo una funzione che ha come input x, e che svolge l’operazione di sommare ad x il valore 3.
L’output dipenderà dal valore di x.
[1] 10
Possiamo crearle, eliminarle o sovrascriverle come un normale oggetto. Vedremo più avanti come crearle ma tenete in considerazione che tutte le funzioni che usiamo sono create come oggetti e salvati nell’ambiente.
Gli argomenti delle funzioni sono quelli che da utenti dobbiamo conoscere ed impostare nel modo corretto per fare in modo che la funzioni faccia quello per cui è stata pensata. Nell’esempio precedente l’unico argomento era x. Vediamo invece l’help della funzione mean().
Per impostare questi argomenti ci sono 2 regole:
x = vettore, na.rm = TRUE, etc.argomento = valore ma devo rispettare l’ordine con cui è stata scritta la funzione.In questo caso proviamo ad usare la funzione mean():
In R è possibile installare e caricare pacchetti aggiuntivi che non fanno altro che rendere disponibili librerie di funzioni create da altri utenti. Per utilizzare un pacchetto:
Installare il pacchetto con install.packages("nomepacchetto")
Caricare il pacchetto con library(nomepacchetto)
Accedere ad una funzione senza caricare il pachetto nomepacchetto::nomefunzione(). Utile se serve solo una funzione o ci sono conflitti)
In R gli errori sono:
Ci sono diversi livelli di allerta quando scriviamo codice:
messaggi: la funzione ci restituisce qualcosa che è utile sapere, ma tutto liscio
warnings: la funzione ci informa di qualcosa di potenzialmente problematico, ma (circa) tutto liscio
error: la funzione non solo ci informa di un errore ma le operazioni richieste non sono state eseguite
Ogni funzione ha una pagina di documentazione accessibile con ?nomefunzione, ??nomefunzione oppure help(nomefunzione)
Possiamo cercare anche la documentazione del pacchetto
Possiamo cercare su internet il nome della funzione o l’eventuale messaggio che riceviamo
Stack overflow è un forum di discussione riguardo qualsiasi cosa coinvolga codice (statistica, programmazione, etc.). E’ pieno di errori comuni, How to do … e di risposte/soluzioni estremamente utili. Nel 90% dei casi il problema che avete è comune ed è già presente una soluzione.
Attentenzione
Ponete bene la domanda
Sinceratevi di aver capito la risposta
Controllate!