Руководство по dt, qt, pt и rt в R

Распределение Стьюдента является одним из наиболее часто используемых распределений в статистике. В этом руководстве объясняется, как работать с распределением Стьюдента 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"))

Это генерирует следующий сюжет:

График распределения Стьюдента t в R

пт

Функция 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))

В результате получаются следующие гистограммы:

Гистограмма распределения t

Обратите внимание, что широкое распределение более распространено по сравнению с узким распределением. Это связано с тем, что мы определили степень свободы в широком распределении равным 5 по сравнению с 40 в узком распределении. Чем меньше степеней свободы, тем шире будет распределение Стьюдента t.

Дальнейшее чтение:
Руководство по dnorm, pnorm, qnorm и rnorm в R
Руководство по dbinom, pbinom, qbinom и rbinom в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.