R의 dt, qt, pt, & rt에 대한 안내

스튜던트 t 분포는 통계학에서 가장 일반적으로 사용되는 분포 중 하나입니다. 이 튜토리얼에서는 dt() , qt() , pt()rt() 함수를 사용하여 R에서 Student t 분포로 작업하는 방법을 설명합니다.

dt

함수 dt는 특정 확률 변수 x 와 자유도 df 가 주어지면 스튜던트 t 분포의 확률 밀도 함수(pdf) 값을 반환합니다. dt를 사용하는 구문은 다음과 같습니다.

dt(x, df)

다음 코드는 작동 중인 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 분포를 사용하여 확률에 관한 질문을 풀 때 dt 대신 pt를 사용하는 경우가 많습니다. 그러나 dt 의 유용한 적용은 R에서 Student t 분포도를 만드는 것입니다. 다음 코드는 이를 수행하는 방법을 보여줍니다.

 #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 함수는 특정 확률 변수 x 및 자유도 df가 주어지면 스튜던트 t 분포의 누적 밀도 함수(cdf) 값을 반환합니다. pnorm을 사용하는 구문은 다음과 같습니다.

포인트(x, df)

간단히 말해서 pt는 스튜던트 t 분포에서 주어진 x 값의 왼쪽 영역을 반환합니다. 주어진 x 값의 오른쪽 영역에 관심이 있는 경우 lower.tail = FALSE 인수를 추가하면 됩니다.

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

다음 예에서는 pt를 사용하여 몇 가지 확률 질문을 해결하는 방법을 보여줍니다.

예 1: 값이 -0.785이고 자유도가 14인 t-통계량의 왼쪽 영역을 찾습니다.

 pt(-0.785, 14)

#[1] 0.2227675

예 2: 값이 -0.785이고 자유도가 14인 t-통계량의 오른쪽 영역을 찾습니다.

 #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: 자유도가 14인 스튜던트 t 분포에서 -0.785의 왼쪽 또는 0.785의 오른쪽에 있는 전체 면적을 구합니다.

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

#[1] 0.4455351

qt

함수 qt는 특정 확률 변수 x 와 자유도 df가 주어지면 스튜던트 t 분포의 역 누적 밀도 함수(cdf) 값을 반환합니다. qt를 사용하는 구문은 다음과 같습니다.

qt(x, df)

간단히 말해서, 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

함수 rt는 벡터 길이 n 과 자유도 df가 주어지면 스튜던트 t 분포를 따르는 확률 변수의 벡터를 생성합니다. rt를 사용하는 구문은 다음과 같습니다.

RT(n, df)

다음 코드는 작동 중인 rt 의 몇 가지 예를 보여줍니다.

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

그러면 다음과 같은 히스토그램이 생성됩니다.

넓은 분포가 좁은 분포보다 얼마나 넓은지 확인하세요. 실제로 우리는 좁은 분포의 자유도가 40인 데 비해 넓은 분포의 자유도는 5라고 지정했습니다. 자유도가 낮을수록 스튜던트 t 분포는 더 넓어집니다.

추가 자료:
R의 dnorm, pnorm, qnorm 및 rnorm에 대한 안내
R의 dbinom, pbinom, qbinom 및 rbinom에 대한 가이드

의견을 추가하다

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다