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