การสุ่มตัวอย่างอย่างเป็นระบบใน r (พร้อมตัวอย่าง)
นักวิจัยมักจะเก็บ ตัวอย่าง จากประชากรและใช้ข้อมูลจากกลุ่มตัวอย่างเพื่อสรุปผลเกี่ยวกับประชากรโดยรวม
วิธีการสุ่มตัวอย่างที่ใช้กันทั่วไปคือ การสุ่มตัวอย่างอย่างเป็นระบบ ซึ่งดำเนินการในกระบวนการสองขั้นตอนง่ายๆ:
1. เรียงลำดับสมาชิกแต่ละคนในประชากรตามลำดับที่กำหนด
2. เลือกจุดเริ่มต้นแบบสุ่มและเลือกสมาชิกหนึ่งตัว จาก n เพื่อเป็นส่วนหนึ่งของกลุ่มตัวอย่าง
บทช่วยสอนนี้จะอธิบายวิธีการสุ่มตัวอย่างอย่างเป็นระบบใน R
ตัวอย่าง: การสุ่มตัวอย่างอย่างเป็นระบบใน R
สมมติว่าครูใหญ่ต้องการตัวอย่างนักเรียน 100 คนจากโรงเรียนที่มีนักเรียนทั้งหมด 500 คน เธอเลือกใช้การสุ่มตัวอย่างอย่างเป็นระบบ โดยจัดนักเรียนแต่ละคนตามลำดับตัวอักษรตามนามสกุล สุ่มเลือกจุดเริ่มต้น และเลือกนักเรียนทุกๆ ห้าคนที่อยู่ในกลุ่มตัวอย่าง
รหัสต่อไปนี้แสดงวิธีสร้างเฟรมข้อมูลปลอมเพื่อใช้งานใน R:
#make this example reproducible set.seed(1) #create simple function to generate random last names randomNames <- function (n = 5000) { do.call(paste0, replicate(5, sample(LETTERS, n, TRUE), FALSE)) } #create data frame df <- data.frame(last_name = randomNames(500), gpa = rnorm(500, mean=82, sd=3)) #view first six rows of data frame head(df) last_name gpa 1 GONBW 82.19580 2 JRRWZ 85.10598 3 ORJFW 88.78065 4 XRYNL 85.94409 5 FMDCE 79.38993 6 XZBJC 80.49061
และรหัสต่อไปนี้แสดงวิธีรับตัวอย่างนักเรียน 100 คนผ่านการสุ่มตัวอย่างอย่างเป็นระบบ:
#define function to obtain systematic sample obtain_sys = function (N,n){ k = ceiling(N/n) r = sample(1:k, 1) seq(r, r + k*(n-1), k) } #obtain systematic sample sys_sample_df = df[obtain_sys( nrow (df), 100), ] #view first six rows of data frame head(sys_sample_df) last_name gpa 3 ORJFW 88.78065 8 RWPSB 81.96988 13 RACZU 79.21433 18 ZOHKA 80.47246 23 QJETK 87.09991 28 JTHWB 83.87300 #view dimensions of data frame dim(sys_sample_df) [1] 100 2
โปรดทราบว่าสมาชิกตัวแรกที่รวมอยู่ในตัวอย่างอยู่ในแถวที่ 3 ของกรอบข้อมูลดั้งเดิม สมาชิกถัดไปของกลุ่มตัวอย่างจะอยู่ห่างจากสมาชิกก่อนหน้า 5 บรรทัด
และเมื่อใช้ dim() เราจะเห็นว่าตัวอย่างที่เป็นระบบที่เราได้รับคือกรอบข้อมูล 100 แถวและ 2 คอลัมน์
แหล่งข้อมูลเพิ่มเติม
ประเภทของวิธีการสุ่มตัวอย่าง
การสุ่มตัวอย่างแบบแบ่งชั้นใน R
การสุ่มตัวอย่างคลัสเตอร์ใน R