Um guia para dt, qt, pt e rt em r

A distribuição t de Student é uma das distribuições mais comumente usadas em estatística. Este tutorial explica como trabalhar com a distribuição t de Student em R usando as funções dt() , qt() , pt() e rt() .

dt

A função dt retorna o valor da função de densidade de probabilidade (pdf) da distribuição t de Student dada uma certa variável aleatória x e graus de liberdade df . A sintaxe para usar dt é a seguinte:

dt(x, df)

O código a seguir demonstra alguns exemplos de dt em ação:

 #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

Normalmente, ao tentar resolver questões sobre probabilidade usando a distribuição t de Student, você usará frequentemente pt em vez de dt . Uma aplicação útil de dt , entretanto, é criar um gráfico de distribuição t de Student em R. O código a seguir ilustra como fazer isso:

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

Isso gera o seguinte gráfico:

ponto

A função pt retorna o valor da função de densidade cumulativa (cdf) da distribuição t de Student dada uma certa variável aleatória x e graus de liberdade df . A sintaxe para usar pnorm é a seguinte:

ponto (x, df)

Em termos simples, pt retorna a área à esquerda de um determinado valor de x na distribuição t de Student. Se você estiver interessado na área à direita de um determinado valor de x , você pode simplesmente adicionar o argumento lower.tail = FALSE

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

Os exemplos a seguir ilustram como resolver algumas questões de probabilidade usando pt.

Exemplo 1: Encontre a área à esquerda de uma estatística t com valor de -0,785 e 14 graus de liberdade.

 pt(-0.785, 14)

#[1] 0.2227675

Exemplo 2: Encontre a área à direita de uma estatística t com valor de -0,785 e 14 graus de liberdade.

 #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 

Exemplo 3: Encontre a área total em uma distribuição t de Student com 14 graus de liberdade localizada à esquerda de -0,785 ou à direita de 0,785.

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

#[1] 0.4455351

quantidade

A função qt retorna o valor da função de densidade cumulativa inversa (cdf) da distribuição t de Student dada uma certa variável aleatória x e graus de liberdade df. A sintaxe para usar qt é a seguinte:

qt(x, df)

Em termos simples, você pode usar qt para descobrir qual é a pontuação t do p- ésimo quantil da distribuição t de Student.

O código a seguir demonstra alguns exemplos de qt em ação:

 #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

Observe que os valores críticos encontrados por qt corresponderão aos valores críticos encontrados na tabela de distribuição t, bem como aos valores críticos que podem ser encontrados pela calculadora de distribuição t inversa.

rt

A função rt gera um vetor de variáveis aleatórias que segue uma distribuição t de Student dado um comprimento de vetor n e graus de liberdade df . A sintaxe para usar rt é a seguinte:

rt(n, df)

O código a seguir demonstra alguns exemplos de rt em ação:

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

Isso gera os seguintes histogramas:

Observe como a distribuição ampla é mais ampla do que a distribuição estreita. Na verdade, especificámos que os graus de liberdade na distribuição ampla eram 5, em comparação com 40 na distribuição estreita. Quanto menos graus de liberdade houver, mais ampla será a distribuição t de Student.

Leitura adicional:
Um guia para dnorm, pnorm, qnorm e rnorm em R
Um guia para dbinom, pbinom, qbinom e rbinom em R

Add a Comment

O seu endereço de email não será publicado. Campos obrigatórios marcados com *