randomization [🇷 for BE/BA]

posted by ElMaestro  – Denmark, 2018-02-23 23:24 (2338 d 15:24 ago) – Posting: # 18454
Views: 14,438

Hi A.C.,


Let us say you have 16 subjects.
8 will be female, 8 will be male. As you enroll them into the study you assign subjects numbers sequentially so that the females are 1..8, and the males are 9..16.

The follwing code will provide a randomizer:

## we have N subjects, N is divisible by 4
## N/2 will be males, N/2 will be females
## N/4 will be males in TR
## N/4 will be males in RT
## N/4 will be females in TR
## N/4 will be females in RT

Ana.Cristinas.Randomizer=function(Seed, N)
{
  if (N %% 4 != 0) {cat("N not divisible by four.!\n");return("Error.")}
  Gender=c(rep("F", N/2), rep("M", N/2))
  Subject=c(1:N)
  ##We need to assign sequences to both genders
  ##N/4 males are assigned to TR and N/4 to RT
  Seqx=c(rep("TR", N/4), rep("RT", N/4))
  ##Seqx is just an 'unrandomised' block that applies to both genders. 
  ##Now we permute the sequences(=resample without replacement) for M and F
  Seq=c(sample(Seqx, replace=F), sample(Seqx, replace=F))
  TrtP1=substr(Seq,1,1)
  TrtP2=substr(Seq,2,2)
  Rslt=data.frame(Subject, Gender, Seq, TrtP1, TrtP2)
  return(Rslt)
}

##can be run with e.g.
Ana.Cristinas.Randomizer(12312351, 16)


It is a good idea to use a new seed every time and to record the one you are actually using.
Note also that this algo assigns unique subjects numbers to every participant. Then we do not need to worry about Subject%in%Sequence and we are compliant with ICH E6 §1.58 (unique identifier). :-D

Pass or fail!
ElMaestro

Complete thread:

UA Flag
Activity
 Admin contact
23,112 posts in 4,858 threads, 1,644 registered users;
89 visitors (0 registered, 89 guests [including 13 identified bots]).
Forum time: 15:48 CEST (Europe/Vienna)

Statistics means you never have to say you’re certain.    David L. Streiner

The Bioequivalence and Bioavailability Forum is hosted by
BEBAC Ing. Helmut Schütz
HTML5