เครื่องคิดเลขฟรีของ Editverse
เครื่องมือสร้างลำดับการสุ่มสำหรับการทดลองทางคลินิก
สร้างลำดับการจัดสรรที่สามารถทำซ้ำได้สำหรับการทดลอง ไม่ว่าจะเป็นการสุ่มแบบง่าย แบบบล็อก หรือแบบแบ่งชั้น โดยใช้ค่าเริ่มต้นคงที่ และคัดลอกคำสั่ง R ที่อยู่เบื้องหลังผลลัพธ์นั้นอย่างแม่นยำ คู่มือฉบับเต็มอยู่ด้านล่าง ตรวจสอบความถูกต้องแล้วกับ R เวอร์ชัน 4.3.3
ในคำง่ายๆ
การสุ่มจัดกลุ่มผู้เข้าร่วมการวิจัยเข้ากลุ่มการรักษาโดยอาศัยโอกาส ซึ่งเป็นสิ่งที่ช่วยขจัดอคติในการเลือกและสร้างความสมดุลให้กับปัจจัยรบกวนทั้งที่ทราบและไม่ทราบในกลุ่มทดลองต่างๆ ลำดับที่เหมาะสมจะถูกสร้างขึ้นโดยกระบวนการสุ่มที่กำหนดไว้ ไม่ใช่โดยการสลับ การนับวัน หรือสิ่งใดก็ตามที่ผู้คัดเลือกสามารถคาดเดาได้
การสุ่มแบบบล็อกช่วยรักษาสมดุลของขนาดกลุ่มในระหว่างการสรรหาผู้เข้าร่วม โดยการสุ่มภายในบล็อกขนาดเล็ก และ การสุ่มแบบ แบ่งชั้นช่วยรักษาสมดุลของปัจจัยพยากรณ์ที่สำคัญ โดยการสุ่มแยกกันภายในแต่ละชั้น การบันทึกค่าเริ่มต้นของการสุ่มทำให้ลำดับทั้งหมดสามารถทำซ้ำได้และตรวจสอบได้
ควรใช้วิธีการสุ่มแต่ละแบบเมื่อใด
ใช้การสุ่มแบบง่ายสำหรับงานวิจัยขนาดใหญ่ที่โอกาสเพียงอย่างเดียวจะทำให้กลุ่มต่างๆ มีความสมดุล ใช้การสุ่มแบบบล็อกเมื่อคุณต้องการขนาดกลุ่มที่สมดุลตลอดกระบวนการคัดเลือก โดยเฉพาะในงานวิจัยขนาดเล็ก และใช้การสุ่มแบบแบ่งชั้นเมื่อจำเป็นต้องรักษาความสมดุลของปัจจัยพยากรณ์ที่สำคัญเพียงไม่กี่ปัจจัยในแต่ละกลุ่ม
ไม่ว่าคุณจะเลือกใช้วิธีใด ลำดับการทดลองจะต้องถูกปกปิดจากผู้ที่ทำการลงทะเบียนผู้เข้าร่วม – การปกปิดการสร้างและการจัดสรรเป็นมาตรการป้องกันที่แตกต่างกัน และทั้งสองอย่างมีความจำเป็น บันทึกค่าเริ่มต้นและพารามิเตอร์เพื่อให้ลำดับการทดลองสามารถทำซ้ำได้ จับคู่การออกแบบกับขนาดตัวอย่าง ที่เหมาะสม ไม่แน่ใจว่ารูปแบบใดเหมาะสมกับการทดลองของคุณ? ตัวเลือกการทดสอบ ของเรา สามารถช่วยได้
set.seed({seed}) arms <- trimws(strsplit("{arms}", ",")[[1]]); blocks <- c({blocks}); n <- {n} strata <- trimws(strsplit("{strata}", ",")[[1]]); scheme <- "{scheme}" gen <- function(n) { if (grepl("Simple", scheme)) return(arms[sample.int(length(arms), n, replace = TRUE)]) out <- character(0) while (length(out) < n) { b <- blocks[sample.int(length(blocks), 1)] out <- c(out, sample(rep(arms, length.out = b))) } out[1:n] } if (grepl("Stratified", scheme)) lapply(setNames(strata, strata), function(s) gen(n)) else gen(n)คู่มือผู้ใช้
ควรใช้เมื่อใดสร้างรายการจัดสรรที่ทำซ้ำได้ (แบบง่าย แบบสลับบล็อก หรือแบบแบ่งชั้น) พร้อมบันทึกค่าเริ่มต้น คำสั่ง R จะสร้างรายการที่ถูกต้องแม่นยำ
ข้อสันนิษฐาน:รายชื่อดังกล่าวถูกเก็บรักษาโดยบุคคลที่ไม่เกี่ยวข้องกับการสรรหา (การปกปิดการจัดสรร); ข้อมูลเริ่มต้นและรายชื่อถูกจัดเก็บไว้เป็นความลับ
ข้อผิดพลาดที่พบบ่อย:อย่าใช้ขนาดบล็อกคงที่เพียงขนาดเดียวในการทดลองที่ไม่ปิดบัง (เพราะการกำหนดกลุ่มสุดท้ายจะคาดเดาได้) การสุ่มแบบง่ายๆ อาจทำให้การทดลองขนาดเล็กไม่สมดุล วิธีการแบบไดนามิก เช่น การลดความคลาดเคลื่อน จำเป็นต้องใช้ซอฟต์แวร์เฉพาะ
ตัวอย่างการทำงาน
คลิกที่ " โหลดข้อมูลตัวอย่าง"ด้านบน จากนั้นคลิก "เรียกใช้การวิเคราะห์"เพื่อดูผลลัพธ์ที่สมบูรณ์พร้อมรูปภาพ สูตร และคำอธิบายสำหรับการทดสอบนี้
อ้างอิง
- Schulz KF, Grimes DA. การสร้างลำดับการจัดสรรในการทดลองแบบสุ่ม Lancet. 2002;359:515-519.
- Kim J, Shin W. วิธีการจัดสรรแบบสุ่ม (การสุ่ม). Clin Orthop Surg. 2014;6(1):103-109.
ตัวอย่างผลงาน
ตัวอย่างที่ 1 — การสุ่มแบบบล็อก
สำหรับการทดลองแบบสองกลุ่มโดยใช้บล็อกละสี่คน แต่ละบล็อกจะประกอบด้วยกลุ่ม A สองกลุ่มและกลุ่ม B สองกลุ่มในลำดับแบบสุ่ม หลังจากผู้เข้าร่วมครบสี่คน กลุ่มต่างๆ จะมีความสมดุลกันพอดี ดังนั้นการหยุดการทดลองก่อนกำหนดก็ยังคงทำให้กลุ่มต่างๆ สามารถเปรียบเทียบกันได้ ซึ่งเป็นประโยชน์ในการทดลองขนาดเล็ก
ตัวอย่างที่ 2 — การสุ่มแบบแบ่งชั้น
หากความรุนแรงของโรคมีผลต่อผลลัพธ์อย่างมาก ควรทำการสุ่มแยกกันระหว่างกลุ่มอาการไม่รุนแรงและกลุ่มอาการรุนแรง โดยแต่ละกลุ่มมีลำดับบล็อกของตัวเอง วิธีนี้จะช่วยให้ทั้งสองกลุ่มมีส่วนผสมของความรุนแรงของโรคที่คล้ายคลึงกัน ป้องกันความไม่สมดุลโดยบังเอิญในปัจจัยพยากรณ์โรคที่สำคัญ
ข้อสมมติฐานที่ต้องตรวจสอบ
กระบวนการสุ่มอย่างแท้จริงลำดับต้องมาจากเครื่องกำเนิดตัวเลขสุ่มที่กำหนดไว้พร้อมบันทึกค่าเริ่มต้น ไม่ใช่จากการสลับกัน วันเกิด หรือลำดับการเข้าเรียน
การปกปิดการจัดสรร ผู้ที่ลงทะเบียนผู้เข้าร่วมจะต้องไม่สามารถคาดเดาการจัดสรรครั้งต่อไปได้ ลำดับที่สร้างขึ้นจะปลอดภัยก็ต่อเมื่อถูกปกปิดไว้จนกว่าจะมีการจัดสรร
ขนาดบล็อกที่เหมาะสมบล็อกที่เล็กเกินไปและมีขนาดคงที่ทำให้คาดเดาได้ง่ายเมื่อใกล้ถึงจุดสิ้นสุดของแต่ละบล็อก การใช้ขนาดบล็อกที่แตกต่างกันจะช่วยลดความเสี่ยงนี้ได้
ข้อผิดพลาดทั่วไป
สร้างความสับสนให้คนรุ่นใหม่ด้วยการปกปิด
ลำดับการสุ่มที่สมบูรณ์แบบก็ยังสามารถถูกบิดเบือนได้ หากผู้สรรหาสามารถมองเห็นภารกิจที่จะเกิดขึ้น การสร้างและการปกปิดเป็นคนละเรื่องกัน แต่ทั้งสองอย่างมีความสำคัญ
โดยใช้บล็อกคงที่ที่คาดการณ์ได้
การใช้บล็อกขนาดเล็กที่กำหนดไว้ตายตัวจะทำให้เจ้าหน้าที่เดาภารกิจสุดท้ายในแต่ละบล็อกได้ การใช้บล็อกขนาดสุ่มหรือใหญ่กว่าจะทำให้การจัดสรรภารกิจคาดเดาได้ยากขึ้น
การสุ่มแบบเทียมตามวันที่หรือลำดับ
การจัดสรรโดยการสลับวันในสัปดาห์ หรือหมายเลขการเข้ารับการรักษา ไม่ใช่การสุ่ม และเป็นการนำอคติในการเลือกกลับมาอีกครั้ง
ไม่ได้บันทึกเมล็ดพันธุ์
หากไม่มีค่าเริ่มต้นแบบสุ่มและพารามิเตอร์ ลำดับนั้นจะไม่สามารถสร้างซ้ำหรือตรวจสอบได้ ซึ่งจะทำให้ความโปร่งใสของการทดลองลดลง
คำถามที่พบบ่อย (FAQs)
การสุ่มแบบง่ายกับการสุ่มแบบบล็อกแตกต่างกันอย่างไร?
การสุ่มแบบง่ายจะกำหนดผู้เข้าร่วมแต่ละคนอย่างอิสระ ในขณะที่การสุ่มแบบบล็อกจะปรับสมดุลขนาดกลุ่มโดยการสุ่มภายในบล็อกขนาดเล็ก
ทำไมต้องแบ่งระดับ?
การแบ่งกลุ่มช่วยสร้างความสมดุลให้กับปัจจัยพยากรณ์ที่สำคัญในแต่ละกลุ่ม ป้องกันความไม่สมดุลโดยบังเอิญในตัวแปรที่มีผลกระทบอย่างมากต่อผลลัพธ์
การปกปิดการจัดสรรคืออะไร?
ระบบจะปกปิดการจัดสรรที่จะเกิดขึ้นจากผู้ที่ลงทะเบียนเข้าร่วม เพื่อป้องกันไม่ให้ลำดับแบบสุ่มถูกเปลี่ยนแปลงในขั้นตอนการจัดสรร
ผลลัพธ์ตรงกับค่า R หรือไม่?
ใช่แล้ว ตัวสร้างลำดับใช้การสุ่มแบบมาตรฐานของ R โดยใช้ค่าเริ่มต้นที่บันทึกไว้ และแสดงคำสั่งเพื่อให้สามารถสร้างลำดับที่ถูกต้องได้ซ้ำอีกครั้ง
เครื่องคำนวณที่เกี่ยวข้อง
อ้างอิง
- Schulz KF, Grimes DA. การสร้างลำดับการจัดสรรในการทดลองแบบสุ่ม: เกิดจากโอกาส ไม่ใช่การเลือก มีดหมอ. 2002;359(9305):515–519. PMID 11853818
- Schulz KF, Grimes DA. การปกปิดการจัดสรรกลุ่มตัวอย่างในการทดลองแบบสุ่ม: การป้องกันการถอดรหัส มีดหมอ. 2002;359(9306):614–618. PMID 11867132
- Schulz KF, Altman DG, Moher D. คำแถลง CONSORT 2010: แนวทางปฏิบัติที่ปรับปรุงแล้วสำหรับการรายงานการทดลองแบบสุ่มกลุ่มคู่ขนาน BMJ. 2010;340:c332.
ต้องการให้วิเคราะห์ข้อมูลนี้สำหรับต้นฉบับของคุณหรือไม่?
ทีมของเราสร้างตารางการสุ่มตัวอย่างที่สามารถทำซ้ำได้ ไม่ว่าจะเป็นแบบง่าย แบบบล็อก หรือแบบแบ่งชั้นโดยมีการปกปิดการจัดสรร และบันทึกค่าเริ่มต้นและพารามิเตอร์เพื่อให้ตรวจสอบได้อย่างครบถ้วน
