วิธีการพล็อตการแจกแจงแบบ t ใน r
ในการพล็อตฟังก์ชันความหนาแน่นของความน่าจะเป็นสำหรับการแจกแจงแบบ at ใน R เราสามารถใช้ฟังก์ชันต่อไปนี้:
- dt(x, df) เพื่อสร้างฟังก์ชันความหนาแน่นของความน่าจะเป็น
- curve(function, from = NULL, to = NULL) เพื่อพล็อตฟังก์ชันความหนาแน่นของความน่าจะเป็น
ในการพล็อตฟังก์ชันความหนาแน่นของความน่าจะเป็น เราจำเป็นต้องระบุ df (องศาอิสระ) ในฟังก์ชัน dt() รวมถึงค่า จาก และ ถึง ในฟังก์ชัน curve()
ตัวอย่างเช่น โค้ดต่อไปนี้แสดงวิธีการพล็อตฟังก์ชันความหนาแน่นของความน่าจะเป็นสำหรับการแจกแจงที่มีอิสระ 10 องศา โดยที่แกน x ของการลงจุดอยู่ระหว่าง -4 ถึง 4:
curve(dt(x, df=10), from=-4, to=4)
เช่นเดียวกับ การแจกแจงแบบปกติ การแจกแจงแบบ t มีความสมมาตรโดยมีค่าเฉลี่ยเป็น 0
เราสามารถเพิ่มชื่อเรื่อง เปลี่ยนป้ายกำกับแกน Y เพิ่มความกว้างของแถว และแม้แต่เปลี่ยนสีของแถวเพื่อทำให้โครงเรื่องดูสวยงามยิ่งขึ้น:
curve(dt(x, df=10), from=-4, to=4, main = 't Distribution (df = 10)', #add title ylab = 'Density', #change y-axis label lwd = 2, #increase line width to 2 col = 'steelblue') #change line color to steelblue
นอกจากนี้เรายังสามารถเพิ่มเส้นโค้งหลายรายการลงในกราฟเพื่อเปรียบเทียบการแจกแจง t กับระดับความอิสระที่แตกต่างกัน ตัวอย่างเช่น รหัสต่อไปนี้สร้างแผนการแจกจ่าย t ด้วย df = 6, df = 10 และ df = 30:
curve(dt(x, df=6), from=-4, to=4, col='blue') curve(dt(x, df=10), from=-4, to=4, col='red', add=TRUE) curve(dt(x, df=30), from=-4, to=4, col='green', add=TRUE)
เราสามารถเพิ่มคำอธิบายแผนภูมิให้กับโครงเรื่องได้โดยใช้ฟังก์ชัน legend() ซึ่งใช้ไวยากรณ์ต่อไปนี้:
ตำนาน (x, y=NULL, ตำนาน, เติม, col, bg, lty, cex)
ทอง:
- x, y: พิกัด x และ y ที่ใช้ในการวางตำแหน่งคำอธิบาย
- ตำนาน: ข้อความที่จะใส่ในตำนาน
- เติม: เติมสีในตำนาน
- col: รายการสีที่จะใช้สำหรับเส้นภายในคำอธิบายแผนภูมิ
- bg: สีพื้นหลังของตำนาน
- lty: สไตล์เส้น
- cex: ขนาดของข้อความในตำนาน
ในตัวอย่างของเรา เราจะใช้ไวยากรณ์ต่อไปนี้เพื่อสร้างคำอธิบาย:
#create density plots curve(dt(x, df=6), from=-4, to=4, col='blue') curve(dt(x, df=10), from=-4, to=4, col='red', add=TRUE) curve(dt(x, df=30), from=-4, to=4, col='green', add=TRUE) #add legend legend(-4, .3, legend=c("df=6", "df=10", "df=30"), col=c("blue", "red", "green"), lty=1, cex=1.2)