Una guía para dt, qt, pt y rt en R

Actualizado por ultima vez el 7 de mayo de 2021, por .

La distribución t de Student es una de las distribuciones más utilizadas en estadística. Este tutorial explica cómo trabajar con la distribución t de Student en R usando las funciones dt () , qt () , pt () y rt () .

dt

La función dt devuelve el valor de la función de densidad de probabilidad (pdf) de la distribución t de Student dada una determinada variable aleatoria x y grados de libertad df . La sintaxis para usar dt es la siguiente:

dt (x, df)

El siguiente código ilustra algunos ejemplos de dt en acción:

# encontrar el valor de la distribución t de Student pdf en x = 0 con 20 grados de libertad
dt (x = 0, gl = 20)

# [1] 0.3939886

#de forma predeterminada, R asume que el primer argumento es xy el segundo argumento es df
dt (0, 20)

# [1] 0.3939886
# encontrar el valor de la distribución t de Student pdf en x = 1 con 30 grados de libertad
 dt (1, 30)
 
# [1] 0.2379933

Normalmente, cuando intenta resolver preguntas sobre probabilidad utilizando la distribución t de Student, a menudo utilizará pt en lugar de dt . Sin embargo, una aplicación útil de dt es crear una gráfica de distribución t de Student en R. El siguiente código ilustra cómo hacerlo:

# Crea una secuencia de 100 números igualmente espaciados entre -4 y 4
x <- seq (-4, 4, longitud = 100)

# cree un vector de valores que muestre la altura de la distribución de probabilidad 
# para cada valor en x, usando 20 grados de libertad
y <- dt (x = x, df = 20)

#plote xey como un diagrama de dispersión con líneas conectadas (tipo = "l") y agregue 
#un eje x con etiquetas personalizadas
plot (x, y, type = "l", lwd = 2, axes = FALSE, xlab = "", ylab = "")
eje (1, en = -3: 3, etiquetas = c ("- 3 s", "-2 s", "-1 s", "media", "1 s", "2 s", "3 s"))

Esto genera la siguiente gráfica:

Gráfica de distribución t de Student en R

pt

La función pt devuelve el valor de la función de densidad acumulada (cdf) de la distribución t de Student dada una determinada variable aleatoria x y grados de libertad df . La sintaxis para usar pnorm es la siguiente:

pt (x, df)

En pocas palabras, pt devuelve el área a la izquierda de un valor x dado en la distribución t de Student. Si está interesado en el área a la derecha de un valor x dado , simplemente puede agregar el argumento lower.tail = FALSE

pt (x, gl, cola inferior = FALSO)

Los siguientes ejemplos ilustran cómo resolver algunas preguntas de probabilidad usando pt.

Ejemplo 1: Encuentre el área a la izquierda de un estadístico t con valor de -0,785 y 14 grados de libertad.

pt (-0,785, 14)

# [1] 0.2227675

Ejemplo 2: Encuentre el área a la derecha de un estadístico t con valor de -0,785 y 14 grados de libertad.

#los siguientes enfoques producen resultados equivalentes

# 1 - área a la izquierda
1 punto (-0,785, 14)

# [1] 0,7772325

#area a la derecha
pt (-0,785, 14, cola inferior = FALSO)

# [1] 0,7772325 

Ejemplo 3: Encuentre el área total en una distribución t de Student con 14 grados de libertad que se encuentra a la izquierda de -0,785 o a la derecha de 0,785.

pt (-0,785, 14) + pt (0,785, 14, cola inferior = FALSO)

# [1] 0.4455351

qt

La función qt devuelve el valor de la función de densidad acumulada inversa (cdf) de la distribución t de Student dada una determinada variable aleatoria x y grados de libertad df.La sintaxis para usar qt es la siguiente:

qt (x, gl)

En pocas palabras, puede usar qt para averiguar cuál es la puntuación t del p- ésimo cuantil de la distribución t de Student.

El siguiente código ilustra algunos ejemplos de qt en acción:

# Encuentre la puntuación t del cuantil 99 de la distribución t de Student con gl = 20
 qt (.99, gl = 20)

# [1] [1] 2.527977

# Encuentre la puntuación t del cuantil 95 de la distribución t de Student con gl = 20
qt (.95, gl = 20)

# [1] 1.724718

# Encuentre la puntuación t del cuantil 90 de la distribución t de Student con gl = 20
qt (.9, gl = 20)

# [1] 1.325341

Tenga en cuenta que los valores críticos encontrados por qt coincidirán con los valores críticos encontrados en la tabla de distribución t, así como con los valores críticos que se pueden encontrar con la calculadora de distribución t inversa .

rt

La función rt genera un vector de variables aleatorias que siguen una distribución t de Student dada una longitud de vector ny grados de libertad df . La sintaxis para usar rt es la siguiente:

rt (n, df)

El siguiente código ilustra algunos ejemplos de rt en acción:

#generar un vector de 5 variables aleatorias que sigan una distribución t de Student
#con df = 20
rt (n = 5, gl = 20)

# [1] -1.7422445 0.9560782 0.6635823 1.2122289 -0.7052825

#generar un vector de 1000 variables aleatorias que sigan una distribución t de Student
#con df = 40
Distribución estrecha <- rt (1000, 40)

#generar un vector de 1000 variables aleatorias que sigan una distribución t de Student
#con df = 5
wideDistribution <- rt (1000, 5)

#genere dos histogramas para ver estas dos distribuciones una al lado de la otra y especifique
# 50 barras en histograma,
par (mfrow = c (1, 2)) # una fila, dos columnas
hist (distribución estrecha, cortes = 50, xlim = c (-6, 4)) 
hist (distribución amplia, cortes = 50, xlim = c (-6, 4))

Esto genera los siguientes histogramas:

Histograma de distribuciones t

Observe cómo la distribución amplia está más dispersa en comparación con la distribución estrecha. Esto se debe a que especificamos que los grados de libertad en la distribución amplia son 5 en comparación con 40 en la distribución estrecha. Cuantos menos grados de libertad, más amplia será la distribución t de Student.

Lectura adicional:
Una guía para dnorm, pnorm, qnorm y rnorm en R
Una guía para dbinom, pbinom, qbinom y rbinom en R

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

A menudo, puede estar interesado en contar el número de observaciones por grupo en un DataFrame de pandas. Afortunadamente, esto…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!