1.21 Funzioni
\(\mathsf{R}\) offre la possibilità di utilizzare un’enorme libreria di funzioni che
permettono di svolgere operazioni complicate, quali ad esempio, il
campionamento casuale. Esaminiamo ora con più attenzione le proprietà
delle funzioni di \(\mathsf{R}\) utilizzando ancora l’esempio del lancio di un dado.
Abbiamo visto in precedenza come il lancio di un dado possa essere
simulato da R con la funzione sample()
. La funzione sample()
prende
tre argomenti: il nome di un vettore, un numero chiamato size
e un
argomento chiamato replace
. La funzione sample()
ritorna un numero
di elementi del vettore pari a size
. Ad esempio
Assegnando TRUE
all’argomento replace
specifichiamo che vogliamo un
campionamento con rimessa.
Se volgiamo eseguire una serie di lanci indipendenti di un dado,
eseguiamo ripetutamente la funzione sample()
ponendo size
uguale a
1:
sample(die, 1, replace = TRUE)
#> [1] 3
sample(die, 1, replace = TRUE)
#> [1] 2
sample(die, 1, replace = TRUE)
#> [1] 5
Come si fa a sapere quanti e quali argomenti sono richiesti da una
funzione? Tale informazione viene fornita dalla funzione args()
. Nel
nostro caso
ci informa che il primo argomento è un vettore chiamato x
, il secondo
argomento è chiamato size
ed ha il significato descritto sopra, il
terzo argomento, replace
, specifica se il campionamento è eseguito con
o senza reimmissione, e il quarto argomento, prob
, assegna delle
probabilità agli elementi del vettore. Il significato degli argomenti
viene spiegato nel file di help della funzione. Si noti che agli ultimi
due argomenti sono stati assegnati dei valori, detti di default. Ciò
significa che, se l’utilizzatore non li cambia, verranno usati da . La
specificazione replace = FALSE
significa che il campionamento viene
eseguito senza reimmissione. Se desideriamo un campionamento con
reimmissione, basta specificare replace = TRUE
(nel caso di una
singola estrazione è ovviamente irrilevante). Ad esempio, l’istruzione
seguente simula i risultati di 10 lanci indipendenti di un dado:
Infine, prob = NULL
specifica che non viene alterata la probabilità di
estrazione degli elementi del vettore. In generale, gli argomenti di una
funzione possono essere oggetti come vettori, matrici, altre funzioni,
parametri o operatori logici.
\(\mathsf{R}\) ha un sistema di help interno in formato HTML che si richiama con
help.start()
. Per avere informazioni su qualche funzione specifica,
per esempio la funzione sample()
, il comando da utilizzare è
help(sample)
oppure ?sample
.