In questo articolo ti parlo di come creare casualmente dei dati aventi distribuzione normale mediante il software R. Ti ho parlato della famosa curva normale o di Gauss in questo articolo. Cliccaci su se vuoi approfondire al riguardo.
In R, per generare casualmente dei dati che seguono la distribuzione normale devi prima specificare 3 cose:
- quanti valori vuoi ottenere: $n$
- la media
- la deviazione standard
Qui di seguito le istruzioni R che vanno a settare questi valori. Come vedi ho scelto di generare 200 numeri con media 4 e deviazione standard 2.
media <- 4
dev.std <- 2
Il comando R per la generazione casuale di distribuzioni normali è rnorm al cui interno bisogna specificare i 3 oggetti appena creati:
dati
In questo modo ho memorizzato l’output del comando rnorm nell’oggetto dati ed ecco il risultato se lo faccio stampare:
Riproducibilità del codice
Se hai lanciato le istruzioni che ti ho indicato sopra ti sarai accorto che i numeri generati sono diversi da quelli che ho ottenuto io. Questo accade perché R genera i numeri casuali in maniera random secondo dei parametri che vengono settati in quel specifico computer dove stiamo facendo girare lo script R. La scomodità sta nel fatto che se lo stesso codice viene eseguito da un'altra persona in un altro computer, verrà fuori un vettore dati diverso. Pensa ad esempio se dovessi consegnare il tuo codice al professore del corso di statistica con R: non riuscirebbe a generare i tuoi stessi dati perché eseguirebbe il codice in un'altra macchina che gli fornirebbe valori casuali differenti dai tuoi.
Il problema sta nel garantire la riproducibilità o replicabilità del codice R. Per farlo, basta lanciare rnorm preceduto dal comando set.seed in questo modo:
dati <- rnorm(n, media, dev.std)
Dentro le parentesi del set.seed devi specificare un numero intero a piacere: questo serve per dire al computer di generare numeri casuali a partire dallo stesso seed (seme in inglese).
Il vettore dati generato è il seguente:
Qualsiasi altra persona con qualsiasi altra macchina che eseguirà il codice con il set.seed, otterrà un vettore dati esattamente uguale a questo qui sopra. Prova per credere!
Visualizzare i dati casuali normali
Esistono diversi modi per graficare i dati così generati. Il più comodo e immediato è l'istogramma data anche la natura della variabile generata (variabili continua).
col = "#144471",
xlab = "dati normali",
ylab="Frequenza",
main = "Istogramma dati normali")
Guarda il video tutorial con R che ho registrato.