R - Distribuzione Normale: Una Guida Amichevole per i Principianti

Ciao there, futuri maghi di R! ? Oggi, ci immergeremo nel mondo affascinante delle distribuzioni normali in R. Non preoccuparti se non hai mai programmato prima – sarò la tua guida amichevole in questo viaggio, e prenderemo tutto con calma. Alla fine di questo tutorial, resterai meravigliato di ciò che puoi fare con solo poche righe di codice!

R - Normal Distribution

Cos'è una Distribuzione Normale?

Prima di tuffarci in R, parliamo rapidamente di cosa sia una distribuzione normale. Immagina di misurare l'altezza di tutti gli studenti della tua scuola. Probabilmente scopriresti che la maggior parte delle persone è di altezza media, con meno persone molto alte o molto basse. Se disegnassi questo su un grafico, vedresti una curva a campana. Questo è una distribuzione normale!

In statistica, utilizziamo distribuzioni normali tutto il tempo, e R ha alcune fantastiche funzioni per aiutarci a lavorare con esse. Esploriamo queste funzioni una per una.

Le Funzioni di Distribuzione Normale in R

R fornisce quattro funzioni principali per lavorare con distribuzioni normali. Ecco una panoramica veloce:

Funzione Scopo
dnorm() Calcola la densità (altezza) della distribuzione normale in un punto dato
pnorm() Calcola la probabilità cumulativa (area sotto la curva) fino a un punto dato
qnorm() Trova il valore (quantile) che corrisponde a una data probabilità
rnorm() Genera numeri casuali da una distribuzione normale

Ora, tuffiamoci in ciascuna di queste funzioni e vediamo come funzionano!

dnorm(): La Funzione di Densità

La funzione dnorm() ci aiuta a trovare l'altezza della curva della distribuzione normale in qualsiasi punto dato. È come chiedere, "Quanto è probabile questo valore specifico?"

Proviamo un esempio:

# Calcola la densità in x = 0 per una distribuzione normale standard
result <- dnorm(0)
print(result)

Quando esegui questo codice, vedrai:

[1] 0.3989423

Questo significa che l'altezza della curva della distribuzione normale standard in x = 0 è circa 0.3989.

Ma cosa succede se vogliamo cambiare la media o la deviazione standard? Nessun problema! Proviamo:

# Calcola la densità in x = 1 per una distribuzione normale con media = 2 e sd = 0.5
result <- dnorm(1, mean = 2, sd = 0.5)
print(result)

Output:

[1] 0.1079819

Vedete quanto è facile? Abbiamo solo detto a R che vogliamo una distribuzione normale con una media di 2 e una deviazione standard di 0.5, e poi abbiamo chiesto per la densità in x = 1.

pnorm(): La Funzione di Probabilità Cumulativa

Ora, passiamo a pnorm(). Questa funzione calcola la probabilità di ottenere un valore inferiore o uguale a un punto dato. È come chiedere, "Quanto è probabile ottenere un valore così basso o più basso?"

Ecco un esempio:

# Calcola la probabilità di ottenere un valore inferiore o uguale a 1.96
# in una distribuzione normale standard
result <- pnorm(1.96)
print(result)

Output:

[1] 0.9750021

Questo ci dice che c'è circa un 97.5% di probabilità di ottenere un valore inferiore o uguale a 1.96 in una distribuzione normale standard.

Curiosità: Questo è il motivo per cui 1.96 è spesso utilizzato in statistica per gli intervalli di confidenza del 95%!

Proviamo un altro esempio con una media e una deviazione standard diverse:

# Calcola la probabilità di ottenere un valore inferiore o uguale a 70
# in una distribuzione normale con media = 60 e sd = 10
result <- pnorm(70, mean = 60, sd = 10)
print(result)

Output:

[1] 0.8413447

Questo significa che c'è circa l'84.1% di probabilità di ottenere un valore inferiore o uguale a 70 in questa distribuzione.

qnorm(): La Funzione di Quantile

qnorm() è come l'opposto di pnorm(). Invece di dare un valore e chiedere la probabilità, diamo una probabilità e chiediamo il valore. È come dire, "Quale valore mi darebbe questa specifica probabilità?"

Proviamo:

# Trova il valore che dà una probabilità cumulativa di 0.95
# in una distribuzione normale standard
result <- qnorm(0.95)
print(result)

Output:

[1] 1.644854

Questo ci dice che il 95% dei valori in una distribuzione normale standard sono inferiori a 1.645.

Possiamo anche utilizzare medie e deviazioni standard diverse:

# Trova il valore che dà una probabilità cumulativa di 0.99
# in una distribuzione normale con media = 100 e sd = 15
result <- qnorm(0.99, mean = 100, sd = 15)
print(result)

Output:

[1] 134.8745

Quindi, in questa distribuzione, il 99% dei valori sono inferiori a 134.87.

rnorm(): Generazione di Numeri Casuali

Ultimo ma non meno importante, abbiamo rnorm(). Questa funzione è come un generatore di numeri magici che segue le regole di una distribuzione normale. È estremamente utile per simulazioni e creazione di dati di test.

Ecco come usarla:

# Genera 5 numeri casuali da una distribuzione normale standard
random_numbers <- rnorm(5)
print(random_numbers)

Output (i tuoi numeri saranno diversi):

[1] -0.56047565 -0.23017749  1.55870831  0.07050839  0.12928774

Possiamo anche specificare una media e una deviazione standard diversa:

# Genera 5 numeri casuali da una distribuzione normale con media = 50 e sd = 10
random_numbers <- rnorm(5, mean = 50, sd = 10)
print(random_numbers)

Output (i tuoi numeri saranno diversi):

[1] 52.39086 46.08371 47.92569 62.36229 45.45923

Non è fantastico? Con una sola riga di codice, possiamo generare quanti numeri casuali vogliamo, seguire qualsiasi distribuzione normale specificata!

Conclusione

Eccoci, ragazzi! Abbiamo viaggiato attraverso il mondo delle distribuzioni normali in R, esplorando quattro potenti funzioni lungo il percorso. Ricorda, la pratica rende perfetti, quindi non aver paura di sperimentare con queste funzioni. Prova diversi valori, plotta i risultati, e vedi cosa succede!

Ecco una piccola sfida per te: Prova a utilizzare rnorm() per generare 1000 numeri casuali, poi usa hist() per plotare un istogramma di quei numeri. Vedrai la distribuzione normale venire alla vita davanti ai tuoi occhi!

Buon codice, e possa la distribuzione normale essere con te! ???

Credits: Image by storyset