Распределение Стьюдента является одним из наиболее часто используемых распределений в статистике. В этом руководстве объясняется, как работать с распределением Стьюдента t в R, используя функции dt() , qt() , pt() и rt() .
дт
Функция dt возвращает значение функции плотности вероятности (PDF) распределения Стьюдента t при заданной случайной величине x и степенях свободы df.Синтаксис использования dt следующий:
дт (х, дф)
Следующий код иллюстрирует несколько примеров использования dt в действии:
#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
Обычно, когда вы пытаетесь решить вопросы о вероятности, используя распределение Стьюдента t, вы часто будете использовать pt вместо dt.Однако одним полезным применением dt является создание графика распределения t Стьюдента в R. Следующий код иллюстрирует, как это сделать:
#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"))
Это генерирует следующий сюжет:

пт
Функция pt возвращает значение кумулятивной функции плотности (cdf) распределения Стьюдента t при заданной случайной величине x и степенях свободы df.Синтаксис использования pnorm следующий:
пт (х, дф)
Проще говоря, pt возвращает площадь слева от заданного значения x в распределении t Стьюдента. Если вас интересует область справа от заданного значения x , вы можете просто добавить аргумент lower.tail = FALSE
pt(x, df, нижний.хвост = ЛОЖЬ)
Следующие примеры иллюстрируют, как решать некоторые вероятностные вопросы, используя pt.
Пример 1: Найдите площадь слева от t-статистики со значением -0,785 и 14 степенями свободы.
pt(-0.785, 14)
#[1] 0.2227675
Пример 2: Найдите площадь справа от t-статистики со значением -0,785 и 14 степенями свободы.
#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
Пример 3: Найдите общую площадь в распределении Стьюдента t с 14 степенями свободы, лежащей слева от -0,785 или справа от 0,785.
pt (-0.785, 14) + pt (0.785, 14, lower.tail = FALSE)
#[1] 0.4455351
кварт
Функция qt возвращает значение обратной кумулятивной функции плотности (cdf) распределения Стьюдента t при заданной случайной величине x и степенях свободы df. Синтаксис использования qt следующий:
qt (х, дф)
Проще говоря, вы можете использовать qt , чтобы узнать, какова t-оценка p -го квантиля t-распределения Стьюдента.
Следующий код иллюстрирует несколько примеров использования qt в действии:
#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
Обратите внимание, что критические значения, найденные qt , будут соответствовать критическим значениям, найденным в таблице t-распределения, а также критическим значениям, которые можно найти с помощью обратного калькулятора t-распределения .
рт
Функция rt генерирует вектор случайных величин, которые следуют распределению Стьюдента t с заданной длиной вектора n и степенями свободы df.Синтаксис использования rt следующий:
рт (п, дф)
Следующий код иллюстрирует несколько примеров использования rt в действии:
#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))
В результате получаются следующие гистограммы:

Обратите внимание, что широкое распределение более распространено по сравнению с узким распределением. Это связано с тем, что мы определили степень свободы в широком распределении равным 5 по сравнению с 40 в узком распределении. Чем меньше степеней свободы, тем шире будет распределение Стьюдента t.
Дальнейшее чтение:
Руководство по dnorm, pnorm, qnorm и rnorm в R
Руководство по dbinom, pbinom, qbinom и rbinom в R