คำแนะนำเกี่ยวกับ dt, qt, pt, & rt ใน r

การแจกแจงแบบ t ของนักเรียน เป็นหนึ่งในการแจกแจงที่ใช้บ่อยที่สุดในสถิติ บทช่วยสอนนี้จะอธิบายวิธีการทำงานกับการแจกแจง Student t ใน R โดยใช้ฟังก์ชัน dt() , qt() , pt() และ rt()

dt

ฟังก์ชัน dt ส่งกลับค่าของฟังก์ชันความหนาแน่นของความน่าจะเป็น (pdf) ของการแจกแจง t ของนักเรียนโดยพิจารณาจากตัวแปรสุ่มที่แน่นอน x และองศาอิสระ df ไวยากรณ์สำหรับการใช้ 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 คุณมักจะใช้ pt แทน dt อย่างไรก็ตาม แอปพลิเคชันที่มีประโยชน์ของ dt คือการสร้างพล็อตการแจกแจง Student 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 มีดังนี้:

จุด (x, df)

กล่าวง่ายๆ ก็คือ pt จะคืนค่าพื้นที่ทางด้านซ้ายของค่า x ที่กำหนดในการแจกแจงแบบ t หากคุณสนใจพื้นที่ทางด้านขวาของค่า x ที่กำหนด คุณสามารถเพิ่มอาร์กิวเมนต์ lower.tail = FALSE ได้

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

ตัวอย่างต่อไปนี้แสดงวิธีแก้คำถามความน่าจะเป็นโดยใช้ 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 มีดังนี้:

คิวที(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 สร้างเวกเตอร์ของตัวแปรสุ่มที่เป็นไปตามการแจกแจงแบบ t ของนักเรียน โดยกำหนดความยาวเวกเตอร์ n และองศาอิสระ df ไวยากรณ์สำหรับการใช้ 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))

สิ่งนี้จะสร้างฮิสโตแกรมต่อไปนี้:

สังเกตว่าการกระจายแบบกว้างนั้นกว้างกว่าการกระจายแบบแคบอย่างไร อันที่จริง เราได้ระบุว่าระดับความอิสระในการแจกแจงแบบกว้างคือ 5 เทียบกับ 40 ในการแจกแจงแบบแคบ ยิ่งมีระดับความเป็นอิสระน้อยเท่าใด การแจกแจง t ของนักเรียนก็จะกว้างขึ้นเท่านั้น

อ่านเพิ่มเติม:
คำแนะนำเกี่ยวกับ dnorm, pnorm, qnorm และ rnorm ใน R
คำแนะนำเกี่ยวกับ dbinom, pbinom, qbinom และ rbinom ใน R

เพิ่มความคิดเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *