การสุ่มตัวอย่างอย่างเป็นระบบใน 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

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

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