# My random allocation schedule list ran out - is it valid from a statistical standpoint to simply generate a new list?

Problem My random allocation schedule list was design to randomize 100 participants. 50 participants have been recruited so far and randomized to treatment A or B. A recent change to the assumptions underlying our power calculations means that we should really aim to recruit 150 participants.

Question Is it appropriate, from a statistical standpoint, to simply generate a new random allocation schedule to accomodate the extra 50 participants we need once my first schedule fills up? Will my p values and confidence intervals still be valid?

• If you are using software that reliably generates random numbers, then you should use it to randomize all 150 subjects. If the 100 have already been allocated and treatments started, then randomize the remaining 50. // It is good practice to keep a record how randomization is done. What table of random numbers, what software and seed for random number generator, etc. Sep 28, 2021 at 3:08
• Does this have any implications of p values and such? Since I've used 1 schedule for the first 100 participants and a different schedule for the next 50 participants? Both will be generated using the same sequence generator.
– grug
Sep 28, 2021 at 4:19
• Don't know what you mean by 'same sequence generator'. You shouldn't use any of the same random numbers for the last 50 as you did for the first 100. You said you'd used up your original list of 100. (What do you mean by that?) You need 50 new random numbers.(Where will you get more?) If you need more, use: set.seed(928); a = rep(1:2, each=25); sample(a, 50), which yields 1 2 2 1 1 2 2 2 1 1 2 1 1 2 1 1 2 1 2 2 1 1 1 2 2 1 2 1 2 1 2 2 2 1 1 1 2 2 2 2 2 1 2 1 1 1 1 2 2 1 (25 of each). If you use new numbers (mine or others), everything should be OK--including P-value. Sep 28, 2021 at 5:46
• If you randomize 100, then 50 more, then there must be exactly 50 As and 50 B's among first 100 and exactly 25 A's and 25 B's among remaining 50. Technically, this constraint violates perfec randomness, but I don't suppose it will do any harm. Sep 28, 2021 at 5:54

In R, here is one way to randomize 150 available subjects with 75 into each group. Let 1 = A, 2 = B.

set.seed(927)
avail = rep(1:2, each=75);  avail
[1] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[26] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[51] 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1
[76] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[101] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2
[126] 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2 2

assign = sample(avail, 150);  assign  # random assignments
[1] 2 2 1 2 1 2 2 2 1 1 1 2 2 2 2 1 1 1 1 2 1 2 1 1 1
[26] 1 2 1 1 1 1 2 1 2 1 2 1 2 1 2 1 1 2 1 2 1 2 1 2 1
[51] 2 1 1 2 2 2 2 2 1 1 2 2 1 2 2 2 2 1 1 2 2 2 2 2 2
[76] 1 2 1 1 2 2 1 2 1 2 1 2 1 2 2 2 1 1 1 1 1 2 1 1 2
[101] 2 1 1 2 1 1 1 1 2 2 2 2 1 1 2 1 2 1 2 2 1 1 1 2 2
[126] 1 1 1 2 1 2 2 2 2 1 1 2 1 2 1 2 1 2 1 2 1 1 1 2 2

table(assign)  # make sure 75 of each
assign
1  2
75 75


The first two subjects go into B, the next into A, the next into B, ..., #26 goes into A, ..., the last two go into B.

Note: If you use the same release of R (R: 386i 3.4.4), use the same program, beginning with set.seed(927), and use the default generator (Mersenne twister), then you will get exactly the same assignment I did.

• If the down-vote is because of an error, please let me know so I can fix it. Sep 28, 2021 at 8:13