วิธีการระบุตัวแบ่งฮิสโตแกรมใน r (พร้อมตัวอย่าง)


ตามค่าเริ่มต้น ฟังก์ชัน hist() ใน R จะใช้ กฎของ Sturges เพื่อกำหนดจำนวนช่องข้อมูลที่จะใช้ในฮิสโตแกรม

กฎของสเตอเจสใช้สูตรต่อไปนี้เพื่อกำหนดจำนวนกลุ่มที่เหมาะสมที่สุดเพื่อใช้ในฮิสโตแกรม:

ถังขยะที่เหมาะสมที่สุด = ⌈log 2 n + 1⌉

ทอง:

  • n: จำนวน การสังเกต ทั้งหมดในชุดข้อมูล
  • ⌈ ⌉: สัญลักษณ์ที่มีความหมายว่า “เพดาน” คือ การปัดเศษคำตอบให้เป็นจำนวนเต็มที่ใกล้ที่สุด

ตัวอย่างเช่น หากมีการสังเกต 31 รายการในชุดข้อมูล กฎของ Sturge จะใช้สูตรต่อไปนี้เพื่อกำหนดจำนวนกลุ่มที่เหมาะสมที่สุดที่จะใช้ในฮิสโตแกรม:

ถังขยะที่เหมาะสมที่สุด = ⌈log 2 (31) + 1⌉ = ⌈4.954 + 1⌉ = ⌈5.954⌉ = 6

ตามกฎของสเตอเจส เราควรใช้กล่อง 6 กล่องในฮิสโตแกรมเพื่อแสดงภาพชุดข้อมูลนี้

หากคุณใช้ฟังก์ชัน hist() ใน R กฎของ Sturges จะถูกนำมาใช้เพื่อเลือกจำนวนถังขยะที่จะแสดงในฮิสโตแกรมโดยอัตโนมัติ

 hist(data)

แม้ว่าคุณจะใช้อาร์กิวเมนต์ ตัวแบ่ง เพื่อระบุจำนวนถังขยะที่จะใช้ R จะใช้มันเป็น “คำแนะนำ” ของจำนวนถังขยะที่จะใช้เท่านั้น

 hist(data, breaks= 7 )

อย่างไรก็ตาม คุณสามารถใช้รหัสต่อไปนี้เพื่อบังคับให้ R ใช้กล่องตามจำนวนที่ระบุในฮิสโตแกรม:

 #create histogram with 7 bins
hist(data, breaks = seq(min(data), max(data), length. out = 8 ))

หมายเหตุ : คุณต้องใช้ความยาว n+1 สำหรับ length.out โดยที่ n คือจำนวนถังขยะที่คุณต้องการ

ตัวอย่างต่อไปนี้แสดงวิธีใช้โค้ดนี้ในทางปฏิบัติ

ตัวอย่าง: การระบุตัวแบ่งฮิสโตแกรมใน R

สมมติว่าเรามีชุดข้อมูลต่อไปนี้ใน R ที่มีค่า 16 ค่า:

 #create vector of 16 values
data <- c(2, 3, 3, 3, 4, 4, 5, 6, 8, 10, 12, 14, 15, 18, 20, 21)

หากเราใช้ฟังก์ชัน hist() R จะสร้างฮิสโตแกรมต่อไปนี้โดยมี 5 bins:

 #create histogram
hist(data)

หมายเหตุ : R ใช้กฎของสเตอเจสเพื่อกำหนดว่า 5 กลุ่มคือจำนวนกลุ่มที่เหมาะสมที่สุดที่จะใช้เพื่อแสดงภาพชุดข้อมูลด้วยการสังเกต 16 ครั้ง

หากเราพยายามใช้อาร์กิวเมนต์ ตัวแบ่ง เพื่อระบุ 7 กลุ่มที่จะใช้ในฮิสโตแกรม R จะถือว่านี่เป็น “คำแนะนำ” เท่านั้นและเลือกใช้ 10 กลุ่มแทน:

 #attempt to create histogram with 7 bins
hist(data, breaks= 7 ) 

อย่างไรก็ตาม เราสามารถใช้โค้ดต่อไปนี้เพื่อบังคับให้ R ใช้ 7 bins ในฮิสโตแกรม:

 #create histogram with 7 bins
hist(data, breaks = seq(min(data), max(data), length. out = 8 ))

โปรดทราบว่าผลลัพธ์ที่ได้จะเป็นฮิสโตแกรมที่มีกล่อง 7 ช่องที่มีระยะห่างเท่ากัน

แหล่งข้อมูลเพิ่มเติม

บทช่วยสอนต่อไปนี้จะอธิบายวิธีดำเนินการทั่วไปอื่นๆ ใน R:

วิธีสร้างฮิสโตแกรมความถี่สัมพัทธ์ใน R
วิธีการพล็อตฮิสโตแกรมหลายอันใน R

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

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