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