กราฟความหนาแน่นแบบถ่วงน้ำหนักด้วยการสำรวจ
นอกจากฮิสโตแกรมแล้ว เรายังสามารถสำรวจรูปร่างการกระจายของตัวแปรได้ด้วยเส้นโค้งความหนาแน่น (density plot) มาสร้าง density plot ของจำนวนชั่วโมงนอนต่อคืน โดยแยกตามเพศกัน ความแตกต่างสำคัญจากฮิสโตแกรมคือ ความสูงของแท่งในฮิสโตแกรมแสดงจำนวนนับ ในขณะที่ความสูงของเส้นโค้งความหนาแน่นแสดงความน่าจะเป็น ดังนั้น จึงต้องจัดการข้อมูลก่อนสร้างกราฟ
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
การวิเคราะห์ข้อมูลแบบสอบถามใน R
คำแนะนำการฝึกหัด
- สำหรับ
NHANESrawให้ลบแถวที่มีค่าขาดหายในคอลัมน์SleepHrsNightหรือGenderออก - จัดกลุ่มตาม
Genderจากนั้นเพิ่มคอลัมน์WTMEC4YR_stdซึ่งมีค่าเท่ากับWTMEC4YR/sum(WTMEC4YR) - ส่งข้อมูลที่จัดการแล้วไปยัง
ggplot()โดยตรง โดยกำหนดSleepHrsNightให้กับxและWTMEC4YR_stdให้กับ weight จากนั้นเพิ่มlayerความหนาแน่นโดยกำหนดbw = 0.6และfill = "gold"พร้อมเพิ่ม layer สำหรับแยกหน้า (facetting) ตามGender
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
# Density plot of sleep faceted by gender
NHANESraw %>%
___(!is.na(___), !is.na(___)) %>%
group_by(___) %>%
mutate(WTMEC4YR_std = ___) %>%
ggplot(mapping = aes(x = ___, weight = ___)) +
geom____(bw = 0.6, fill = "gold") +
labs(x = "Hours of Sleep") +
____wrap(~___, labeller = "label_both")