تصادفی سازی افراد شرکت کننده، به صورت طبقه بندی شده می باشد تااحتمال ناهمنگنی ناشی از شاخص توده بدنی قبل بارداری درگروه های مداخله وکنترل تاحدممکن کاهش یابد. همچنین باتوجه به حجم نمونه زیر100نفردرهرطبقه ونیز اینکه مادران باردار6-10هفته درطول زمان و به طورپیوسته درمطالعه حضورپیدامی کنندوازقبل مشخص نیستند، روش مناسبی به نظرمی رسد. بنابراین برای حجم نمونه 320 نفر؛ چهارطبقه درنظرگرفته می شود که براساس شاخص توده بدنی قبل بارداری ( افراد لاغر، طبیعی، دارای اضافه وزن وچاق) تعیین شده است و حداقل شامل 80 نفر( 40 نفرمداخله و40 نفرکنترل) می باشد. سپس درهرطبقه با تصادفی سازی بلوکی، 80 نفرمربوطه در گروه مداخله یا کنترل قرارمی گیرند. به این صورت که ما 20 بلوک چهارتایی داریم که مرسوم ترین اندازه بلوک است و ترتیب قرارگیری مادران باردار دران ها به 6 صورت می باشد وعدد مربوط به توالی هربلوک، از 1 تا 6 می باشد و کسی به جزیکی ازاعضای تیم تحقیق از اندازه، توالی و ترتیب قرارگیری نمونه ها درهربلوک اطلاعی ندارد. درمرحله بعدی فرد مسئول که درهیچ یک ازمراحل پژوهش شرکت ندارد، بااستفاده ازنرم افزارR، توالی اعداد تصادفی راانتخاب می نماید. اولین عددد به بلوکی که باهمان شماره توالی مشخص شده، اختصاص می یابد وبراساس ترتیب ویژه بلوک مذکور، مادران باردارهرطبقه به گروه مداخله یاکنترل اختصاص داده می شوند؛ تا قبل ازتخصیص، گروه تخصیص یافته برای هرشرکت کننده درمطالعه مشخص نباشد وپنهان سازی تخصیص صورت گرفته باشد. دومین عدد درتوالی اعدادتصادفی به دست امده درصورتی که به توالی بلوک های هرطبقه (1تا6) مربوط نباشد، کنارگذاشته می شود تا به عددی برسیم که شماره توالی بلوک بعدی رامعرفی نماید و مجددا باترتیب ویژه ان بلوک ، مادران بارداردر گروه مداخله یاکنترل قرار می گیرند، تاحجم نمونه لازم به دست اید. ممکن است اعدادمربوط به توالی بلوک ها دوچندبارپشت سرهم تکرارشود.
ادرس نرم افزارR:
https://cran.r-project.org/web/packages/randomizeR/randomizeR.pdf
Uschner D, Schindler D, Hilgers RD, Heussen N. randomizeR: an R package for the assessment and implementation of randomization in clinical trials. J Stat Softw. 2018 Jun 19;85(8):1-22
توالی تصادفی برای تخصیص نمونه هابه روش بلوک های جای گشتی تصادفی با استفاده از نرم افزار R و پکیج blockrand انجام می شود. کدهای برنامه به شرح ذیل است:
## stratified by obesity status, 80 in stratum, 2 treatments
library(blockrand)
obese <- blockrand(n=80, id.prefix='obese', block.prefix='obese',stratum='obese')
overweight <- blockrand(n=80, id.prefix='overw', block.prefix='overw',stratum='overweight')
normal <-blockrand(n=80, id.prefix='norm', block.prefix='norm',stratum='normal')
underweight <-blockrand(n=80, id.prefix='undrw', block.prefix='underw',stratum='underweight')
my.study <- rbind(obese,overweight,normal,underweight)
Snow G, Snow MG. Package ‘blockrand’. The Comprehensive R Archive Network. 2013.