การสุ่มตัวอย่างแบบแบ่งชั้นใน r (พร้อมตัวอย่าง)
นักวิจัยมักจะเก็บ ตัวอย่าง จากประชากรและใช้ข้อมูลจากกลุ่มตัวอย่างเพื่อสรุปผลเกี่ยวกับประชากรโดยรวม
วิธีการสุ่มตัวอย่างที่ใช้กันทั่วไปคือ การสุ่มตัวอย่างแบบแบ่งชั้น โดยแบ่งประชากรออกเป็นกลุ่มๆ และสุ่มเลือกสมาชิกจำนวนหนึ่งจากแต่ละกลุ่มเพื่อรวมไว้ในตัวอย่าง
บทช่วยสอนนี้จะอธิบายวิธีการสุ่มตัวอย่างแบบแบ่งชั้นใน R
ตัวอย่าง: การสุ่มตัวอย่างแบบแบ่งชั้นใน R
โรงเรียนมัธยมปลายประกอบด้วยนักเรียน 400 คน ที่เป็นทั้งนักศึกษาปีที่สอง รุ่นน้อง หรือรุ่นพี่ สมมติว่าเราต้องการสุ่มตัวอย่างแบบแบ่งชั้นจำนวนนักเรียน 40 คน เพื่อรวมนักเรียน 10 คนจากแต่ละเกรดเข้าในกลุ่มตัวอย่าง
รหัสต่อไปนี้แสดงวิธีสร้างกรอบข้อมูลตัวอย่างของนักเรียน 400 คน:
#make this example reproducible set.seed(1) #create data frame df <- data.frame(grade = rep(c('Freshman', 'Sophomore', 'Junior', 'Senior'), each =100), gpa = rnorm(400, mean=85, sd=3)) #view first six rows of data frame head(df) gpa grade 1 Freshman 83.12064 2 Freshman 85.55093 3 Freshman 82.49311 4 Freshman 89.78584 5 Freshman 85.98852 6 Freshman 82.53859
การสุ่มตัวอย่างแบบแบ่งชั้นโดยใช้การนับแถว
รหัสต่อไปนี้แสดงวิธีใช้ฟังก์ชัน group_by() และ Sample_n() จากแพ็คเกจ dplyr เพื่อรับตัวอย่างสุ่มแบบแบ่งชั้นของนักเรียนทั้งหมด 40 คน โดยมีนักเรียน 10 คนจากแต่ละเกรด:
library (dplyr) #obtain laminated sample strat_sample <- df %>% group_by (grade) %>% sample_n (size=10) #find frequency of students from each grade table(strat_sample$grade) Freshman Junior Senior Sophomore 10 10 10 10
การสุ่มตัวอย่างแบบแบ่งชั้นโดยใช้เศษส่วนของแถว
โค้ดต่อไปนี้แสดงวิธีใช้ฟังก์ชัน group_by() และ example_frac() จากแพ็คเกจ dplyr เพื่อรับตัวอย่างแบบสุ่มแบบแบ่งชั้น ซึ่งเราจะสุ่มเลือก 15% ของนักเรียนในแต่ละเกรด:
library (dplyr) #obtain laminated sample strat_sample <- df %>% group_by (grade) %>% sample_frac (size=.15) #find frequency of students from each grade table(strat_sample$grade) Freshman Junior Senior Sophomore 15 15 15 15
แหล่งข้อมูลเพิ่มเติม
ประเภทของวิธีการสุ่มตัวอย่าง
การสุ่มตัวอย่างคลัสเตอร์ใน R
การสุ่มตัวอย่างอย่างเป็นระบบใน R