randomization [🇷 for BE/BA]

posted by ElMaestro  – Denmark, 2018-02-23 23:24 (3048 d 11:35 ago) – Posting: # 18454
Views: 20,679

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,656 posts in 4,994 threads, 1,570 registered users;
225 visitors (0 registered, 225 guests [including 20 identified bots]).
Forum time: 11:59 CEST (Europe/Vienna)

It requires a very unusual mind
to undertake the analysis of the obvious.    Alfred North Whitehead

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