Una guida a dt, qt, pt e rt in r

La distribuzione t di Student è una delle distribuzioni più comunemente utilizzate in statistica. Questo tutorial spiega come lavorare con la distribuzione t di Student in R utilizzando le funzioni dt() , qt() , pt() e rt() .

dt

La funzione dt restituisce il valore della funzione di densità di probabilità (pdf) della distribuzione t di Student data una determinata variabile casuale x e gradi di libertà df . La sintassi per utilizzare dt è la seguente:

dt(x, df)

Il codice seguente mostra alcuni esempi di dt in azione:

 #find the value of the Student t distribution pdf at x = 0 with 20 degrees of freedom
dt(x = 0, df = 20)

#[1] 0.3939886

#by default, R assumes the first argument is x and the second argument is df
dt(0, 20)

#[1] 0.3939886
#find the value of the Student t distribution pdf at x = 1 with 30 degrees of freedom
dt(1, 30)

#[1] 0.2379933

In genere, quando si tenta di risolvere domande sulla probabilità utilizzando la distribuzione t di Student, si utilizza spesso pt anziché dt . Un’utile applicazione di dt , tuttavia, è creare un grafico della distribuzione t di Student in R. Il codice seguente illustra come eseguire questa operazione:

 #Create a sequence of 100 equally spaced numbers between -4 and 4
x <- seq(-4, 4, length=100)

#create a vector of values that shows the height of the probability distribution
#for each value in x, using 20 degrees of freedom
y <- dt(x = x, df = 20)

#plot x and y as a scatterplot with connected lines (type = "l") and add
#an x-axis with custom labels
plot(x,y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "")
axis(1, at = -3:3, labels = c("-3s", "-2s", "-1s", "mean", "1s", "2s", "3s"))

Questo genera il seguente grafico:

punto

La funzione pt restituisce il valore della funzione di densità cumulativa (cdf) della distribuzione t di Student data una determinata variabile casuale x e gradi di libertà df . La sintassi per utilizzare pnorm è la seguente:

pt(x, gf)

In termini semplici, pt restituisce l’area a sinistra di un dato valore x nella distribuzione t di Student. Se sei interessato all’area a destra di un dato valore x , puoi semplicemente aggiungere l’argomento lower.tail = FALSE

pt(x, df, lower.tail = FALSE)

I seguenti esempi illustrano come risolvere alcune domande sulla probabilità utilizzando pt.

Esempio 1: trova l’area a sinistra di una statistica t con un valore di -0,785 e 14 gradi di libertà.

 pt(-0.785, 14)

#[1] 0.2227675

Esempio 2: trova l’area a destra di una statistica t con un valore di -0,785 e 14 gradi di libertà.

 #the following approaches produce equivalent results

#1 - area to the left
1 - pt(-0.785, 14)

#[1] 0.7772325

#area to the right
pt(-0.785, 14, lower.tail = FALSE)

#[1] 0.7772325 

Esempio 3: trovare l’area totale nella distribuzione t di Student con 14 gradi di libertà situata a sinistra di -0,785 o a destra di 0,785.

 pt (-0.785, 14) + pt (0.785, 14, lower.tail = FALSE)

#[1] 0.4455351

qt

La funzione qt restituisce il valore della funzione di densità cumulativa inversa (cdf) della distribuzione t di Student data una determinata variabile casuale x e gradi di libertà df. La sintassi per usare qt è la seguente:

qt(x, df)

In termini semplici, puoi usare qt per scoprire qual è il punteggio t del quantile p -esimo della distribuzione t di Student.

Il codice seguente mostra alcuni esempi di qt in azione:

 #find the t-score of the 99th quantile of the Student t distribution with df = 20
qt(.99, df = 20)

#[1][1]2.527977

#find the t-score of the 95th quantile of the Student t distribution with df = 20
qt(.95, df = 20)

#[1]1.724718

#find the t-score of the 90th quantile of the Student t distribution with df = 20
qt(.9, df = 20)

#[1]1.325341

Si noti che i valori critici trovati da qt corrisponderanno ai valori critici trovati nella tabella della distribuzione t così come ai valori critici che possono essere trovati dal calcolatore della distribuzione t inversa.

rt

La funzione rt genera un vettore di variabili casuali che segue una distribuzione t di Student data una lunghezza del vettore n e gradi di libertà df . La sintassi per utilizzare rt è la seguente:

rt(n, df)

Il codice seguente mostra alcuni esempi di rt in azione:

 #generate a vector of 5 random variables that follows a Student t distribution
#with df = 20
rt(n = 5, df = 20)

#[1] -1.7422445 0.9560782 0.6635823 1.2122289 -0.7052825

#generate a vector of 1000 random variables that follows a Student t distribution
#with df = 40
narrowDistribution <- rt(1000, 40)

#generate a vector of 1000 random variables that follows a Student t distribution
#with df = 5
wideDistribution <- rt(1000, 5)

#generate two histograms to view these two distributions side by side, and specify
#50 bars in histogram,
par(mfrow=c(1, 2)) #one row, two columns
hist(narrowDistribution, breaks=50, xlim = c(-6, 4)) 
hist(wideDistribution, breaks=50, xlim = c(-6, 4))

Questo genera i seguenti istogrammi:

Si noti come la distribuzione ampia sia più ampia di quella ristretta. Abbiamo infatti specificato che i gradi di libertà nella distribuzione ampia sono 5 contro 40 nella distribuzione ristretta. Meno gradi di libertà ci sono, più ampia sarà la distribuzione t di Student.

Ulteriori letture:
Una guida a dnorm, pnorm, qnorm e rnorm in R
Una guida a dbinom, pbinom, qbinom e rbinom in R

Aggiungi un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *