I am assigning 384 samples to four 96-well plates for a gene expression analysis. Samples are pairs before and after treatment with one of two drugs. I need to randomize the covariates among the plates to avoid batch effects confounding experimental variables: sample sex, pre-treated vs post-treated in the same sample, and the four different drugs. The simplest method I can think of is to assign plates randomly:
plate = sample( rep( c(1,2,3,4),96 ) )
I can check the assignments after the fact to ensure there are roughly equal distributions of each covariate across the plates with
table(data$treatment, data$plate)
Is there any compelling reason to do this any other way?
EDIT: More details on covariates:
Time: each mouse was sampled twice, pre- and post-treatment.
Sex: Our assay is modestly influenced by sex.
Treatment: Each mouse got one of four treatments (Two drugs, two vehicle controls)
Mice are from a genetically heterogeneous cross so they are not inbred littermates, but for the purposes of the experimental design all mice within a treatment are biological replicates.