Segui il canale Telegram
Max 3 mess. al giorno (cos'è?)
Ultimi post del blog
Video e tutorial
Pagine aggiornate
Formazione
Ricerca sociale con R (il libro)
Le funzioni sono combinazioni di comandi che si applicano ad oggetti.
Le funzioni in R hanno la forma
funzione(x, arg, ...)
dove:
Per utilizzare una funzione — ad esempio chisq.test
(test del chi quadrato) — dobbiamo conoscere i suoi argomenti e le sue opzioni:
args(chisq.test) function (x, y = NULL, correct = TRUE, p = rep(1/length(x), length(x)), rescale.p = FALSE, simulate.p.value = FALSE, B = 2000) NULL
Possiamo ottenere le stesse informazioni con il comando str()
str(chisq.test) function (x, y = NULL, correct = TRUE, p = rep(1/length(x), length(x)), rescale.p = FALSE, simulate.p.value = FALSE, B = 2000)
Per utilizzare correttamente le funzioni, è importante ricordare che:
correct = TRUE, rescale.p = FALSE, simulate.p.value = FALSE, B = 2000
sono valori di default; y=NULL
significa che y
può non essere indicato; l'unico argomento obbligatorio è x
.x
e y
devono essere inseriti per primi; gli altri argomenti hanno un nome, e possono essere inseriti in un ordine qualunque.Vedi usare_aiuto_funzioni.
Le funzioni vengono annidate una nell’altra come in una normale espressione, con la differenza che le parentesi sono sempre tonde.
Consideriamo ad esempio la funzione `round()` applicata a prop.table()
round( prop.table() )
Allo stesso modo naturalmente possono essere utilizzate, insieme ed “annidate”, più funzioni e comandi. In questo caso, round()
si applica a prop.table(
), che a sua volta si applica a table()
:
round(prop.table(table(turismo20$Posizione))*100, 2) Costa Interno Collina Montagna 79.80 12.12 8.08
Ovvero:
round( prop.table( table () ) )
Nel caso ci si dimenticasse di chiudere una parentesi, il prompt di R si trasformerebbe in un +:
round(prop.table(table(turismo20$Posizione)*100, 2) +
Inserendo la parentesi mancante, la riga di comando verrebbe eseguita. Se non fosse possibile inserirla — ad esempio perché non occupa l'ultima posizione — utilizzare il tasto ESC, per abbandonare la riga di comando.
Per semplificare l’uso di queste espressioni, si preferisce costruire prima degli oggetti con i risultati di una funzione, e poi applicare le altre funzioni agli oggetti stessi.
Quando l'argomento di una funzione richiede più di una informazione, si deve utilizzare la notazione vettoriale:
L'opzione dnn
del comando table()
permette di assegnare delle etichette alle variabili.
dnn="Struttura ricettiva"
Se le variabili sono più di una (in una tabella a doppia entrata), si scriverà invece:
dnn=c("Struttura ricettiva", "Posizione geografica")
E dunque:
table(Tipo.di.struttura, Posizione, dnn=c("Struttura ricettiva", "Posizione geografica"))
Per semplificare la scrittura dell'esempio precedente, si può costruire un oggetto con i parametri desiderati
nomi<-c("Struttura ricettiva", "Posizione geografica")
e poi usarlo come argomento della formula:
table(Tipo.di.struttura, Posizione, dnn=nomi)