Un guide sur dt, qt, pt, & rt dans R

La distribution t de Student est l’une des distributions les plus couramment utilisées en statistiques. Ce tutoriel explique comment travailler avec la distribution Student t dans R en utilisant les fonctions dt() , qt() , pt() et rt() .

dt

La fonction dt renvoie la valeur de la fonction de densité de probabilité (pdf) de la distribution t de Student étant donné une certaine variable aléatoire x et des degrés de liberté df . La syntaxe d’utilisation de dt est la suivante :

dt(x, df)

Le code suivant illustre quelques exemples de dt en action :

#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

Généralement, lorsque vous essayez de résoudre des questions sur la probabilité à l’aide de la distribution t de Student, vous utiliserez souvent pt au lieu de dt . Une application utile de dt , cependant, consiste à créer un diagramme de distribution Student t dans R. Le code suivant illustre comment procéder :

#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"))

Cela génère le tracé suivant :

pt

La fonction pt renvoie la valeur de la fonction de densité cumulative (cdf) de la distribution t de Student étant donné une certaine variable aléatoire x et des degrés de liberté df . La syntaxe d’utilisation de pnorm est la suivante :

pt(x, df)

En termes simples, pt renvoie l’aire à gauche d’une valeur x donnée dans la distribution t de Student. Si vous êtes intéressé par la zone à droite d’une valeur donnée x , vous pouvez simplement ajouter l’argument lower.tail = FALSE

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

Les exemples suivants illustrent comment résoudre certaines questions de probabilité à l’aide de pt.

Exemple 1 : Trouvez la zone à gauche d’une statistique t avec une valeur de -0,785 et 14 degrés de liberté.

pt(-0.785, 14)

#[1] 0.2227675

Exemple 2 : Trouvez la zone à droite d’une statistique t avec une valeur de -0,785 et 14 degrés de 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 

Exemple 3 : Trouvez l’aire totale dans une distribution t de Student avec 14 degrés de liberté située à gauche de -0,785 ou à droite de 0,785.

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

#[1] 0.4455351

qt

La fonction qt renvoie la valeur de la fonction de densité cumulative inverse (cdf) de la distribution t de Student étant donné une certaine variable aléatoire x et des degrés de liberté df. La syntaxe d’utilisation de qt est la suivante :

qt(x, df)

En termes simples, vous pouvez utiliser qt pour découvrir quel est le score t du p ème quantile de la distribution t de Student.

Le code suivant illustre quelques exemples de qt en action :

#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

Notez que les valeurs critiques trouvées par qt correspondront aux valeurs critiques trouvées dans le tableau de distribution t ainsi qu’aux valeurs critiques qui peuvent être trouvées par le calculateur de distribution t inverse .

rt

La fonction rt génère un vecteur de variables aléatoires qui suivent une distribution t de Student étant donné une longueur de vecteur n et des degrés de liberté df . La syntaxe d’utilisation de rt est la suivante :

rt(n, df)

Le code suivant illustre quelques exemples de rt en action :

#generate a vector of 5 random variables that follow 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 follow a Student t distribution
#with df = 40
narrowDistribution <- rt(1000, 40)

#generate a vector of 1000 random variables that follow 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))

Cela génère les histogrammes suivants :

Remarquez à quel point la distribution large est plus étendue que la distribution étroite. En effet, nous avons spécifié que les degrés de liberté dans la distribution large étaient de 5 contre 40 dans la distribution étroite. Moins il y a de degrés de liberté, plus la distribution t de Student sera large.

Lectures complémentaires :
Un guide sur dnorm, pnorm, qnorm et rnorm dans R
Un guide de dbinom, pbinom, qbinom et rbinom dans R

Ajouter un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *