Registered protocol



Fontes: ClinicalTrials.gov


Randomization

1. Generate list using block randomization

# load packages
library("blockrand", character.only = TRUE)
library("png", character.only = TRUE)
library("writexl", character.only = TRUE)

# reproducible results
seed <- 2020
set.seed(seed)

# sample size
N <- 200

# groups
grupos <- c("CFT", "PLT")
K = length(grupos)

# blocks
B <- 10 / K

# randomize
lista <- blockrand(
  N,
  num.levels = K,
  # treatments
  levels = grupos,
  # treatment names
  block.sizes = seq(1:B)
)
lista <- as.data.frame(lista)

# save list im disk
write_xlsx(lista, "lista_alocacao.xlsx")


2. Check for balanced allocation

print("Participants per group, n:", quote = FALSE)
print(table(lista[, 4]), quote = FALSE)
print("Participants per group, %", quote = FALSE)
print(table(lista[, 4])/sum(summary(lista[, 4]))*100, quote = FALSE)
[1] Participants per group, n:

CFT PLT 
100 100 
[1] Participants per group, %

CFT PLT 
 50  50 


3. Generate folders with envelopes

# load packages
library("fontawesome", character.only = TRUE)
library("grid", character.only = TRUE)

# create dir with eachvirtual envelopes (folders) following the randomization list
for (i in 1:dim(lista)[1]) {
  # set participant ID
  dir.name <- formatC(lista$id[i], width = 3, flag = "0")
  # create dir
  dir.create(file.path("ids"))
  # create subdir
  dir.create(file.path("ids", dir.name))
  # maxime plot 'envelope' area
  par(mar = c(0, 0, 0, 0))
  par(mai = c(0, 0, 0, 0))
  par(oma = c(0, 0, 0, 0))
  par(width = 3,
      height = 4,
      unit = "in")
  # initialize image
  png(file = file.path("ids", dir.name, paste0(dir.name, ".png")), bg = "transparent")
  plot(
    NULL,
    xlim = c(-1, 1),
    ylim = c(-1, 1),
    ylab = NA,
    xlab = NA,
    bty = "n",
    axes = FALSE,
    frame.plot = TRUE,
    asp = 1
  )
  text(
    x = 0,
    y = 0,
    labels = lista$treatment[i],
    cex = 10
  )
  title(paste0('Participant ID ', dir.name), cex.main = 4)
  grid.roundrect(
    height = 0.99,
    width = 0.99,
    gp = gpar(fill = "#00000000", col = "grey", lwd = 2)
  )
  dev.off()
}


Allocation concealment


Participant ID 001

Participant ID 002

Participant ID 003

Participant ID 004

Participant ID 005

Participant ID 006

Participant ID 007

Participant ID 008

Participant ID 009

Participant ID 010

Participant ID 011

Participant ID 012

Participant ID 013

Participant ID 014

Participant ID 015

Participant ID 016

Participant ID 017

Participant ID 018

Participant ID 019

Participant ID 020

Participant ID 021

Participant ID 022

Participant ID 023

Participant ID 024

Participant ID 025

Participant ID 026

Participant ID 027

Participant ID 028

Participant ID 029

Participant ID 030

Participant ID 031

Participant ID 032

Participant ID 033

Participant ID 034

Participant ID 035

Participant ID 036

Participant ID 037

Participant ID 038

Participant ID 039

Participant ID 040

Participant ID 041

Participant ID 042

Participant ID 043

Participant ID 044

Participant ID 045

Participant ID 046

Participant ID 047

Participant ID 048

Participant ID 049

Participant ID 050

Participant ID 051

Participant ID 052

Participant ID 053

Participant ID 054

Participant ID 055

Participant ID 056

Participant ID 057

Participant ID 058

Participant ID 059

Participant ID 060

Participant ID 061

Participant ID 062

Participant ID 063

Participant ID 064

Participant ID 065

Participant ID 066

Participant ID 067

Participant ID 068

Participant ID 069

Participant ID 070

Participant ID 071

Participant ID 072

Participant ID 073

Participant ID 074

Participant ID 075

Participant ID 076

Participant ID 077

Participant ID 078

Participant ID 079

Participant ID 080

Participant ID 081

Participant ID 082

Participant ID 083

Participant ID 084

Participant ID 085

Participant ID 086

Participant ID 087

Participant ID 088

Participant ID 089

Participant ID 090

Participant ID 091

Participant ID 092

Participant ID 093

Participant ID 094

Participant ID 095

Participant ID 096

Participant ID 097

Participant ID 098

Participant ID 099

Participant ID 100

Participant ID 101

Participant ID 102

Participant ID 103

Participant ID 104

Participant ID 105

Participant ID 106

Participant ID 107

Participant ID 108

Participant ID 109

Participant ID 110

Participant ID 111

Participant ID 112

Participant ID 113

Participant ID 114

Participant ID 115

Participant ID 116

Participant ID 117

Participant ID 118

Participant ID 119

Participant ID 120

Participant ID 121

Participant ID 122

Participant ID 123

Participant ID 124

Participant ID 125

Participant ID 126

Participant ID 127

Participant ID 128

Participant ID 129

Participant ID 130

Participant ID 131

Participant ID 132

Participant ID 133

Participant ID 134

Participant ID 135

Participant ID 136

Participant ID 137

Participant ID 138

Participant ID 139

Participant ID 140

Participant ID 141

Participant ID 142

Participant ID 143

Participant ID 144

Participant ID 145

Participant ID 146

Participant ID 147

Participant ID 148

Participant ID 149

Participant ID 150

Participant ID 151

Participant ID 152

Participant ID 153

Participant ID 154

Participant ID 155

Participant ID 156

Participant ID 157

Participant ID 158

Participant ID 159

Participant ID 160

Participant ID 161

Participant ID 162

Participant ID 163

Participant ID 164

Participant ID 165

Participant ID 166

Participant ID 167

Participant ID 168

Participant ID 169

Participant ID 170

Participant ID 171

Participant ID 172

Participant ID 173

Participant ID 174

Participant ID 175

Participant ID 176

Participant ID 177

Participant ID 178

Participant ID 179

Participant ID 180

Participant ID 181

Participant ID 182

Participant ID 183

Participant ID 184

Participant ID 185

Participant ID 186

Participant ID 187

Participant ID 188

Participant ID 189

Participant ID 190

Participant ID 191

Participant ID 192

Participant ID 193

Participant ID 194

Participant ID 195

Participant ID 196

Participant ID 197

Participant ID 198

Participant ID 199

Participant ID 200