Atribuir ao acaso: seleção aleatória e lista de alocação (allocation list)
Em resumo
O cartão extrai uma amostra aleatória simples de uma lista (números de 1 a N ou uma lista colada com um identificador por linha) ou distribui pessoas por grupos: com randomização em blocos (razão dos grupos, vários tamanhos de bloco, opcionalmente em separado por estratos) ou com tamanhos de grupo fixos. Cada lista pode ser guardada como CSV ou copiada.
Uma ferramenta didática, não uma randomização de um estudo real
A semente é visível. Quem a conhecer, juntamente com o método, pode calcular antecipadamente a lista inteira; não há ocultação da alocação (allocation concealment) nem protocolo. Um estudo real precisa de um sistema aprovado, de uma pessoa independente e do protocolo da instituição. Por isso cada ficheiro exportado começa com a linha «Ferramenta didática - não para estudos reais (sem ocultação)», a semente e o método.
Semente
O valor predefinido é 20261008. A mesma semente e as mesmas entradas dão a mesma lista; outra semente dá outra. A semente nunca vem do relógio. Com estratos, cada estrato tem o seu próprio fluxo (número do estrato a partir de 1): a lista de um estrato não muda quando outro estrato fica maior.
Blocos
- Um bloco contém cada grupo tantas vezes quantas a razão exigir (com 1:1 e tamanho de bloco 4, duas vezes cada um), por ordem aleatória. Depois de cada bloco completo, os grupos estão exatamente equilibrados; entretanto, diferem no máximo em metade do tamanho do bloco (block size).
- Quem conhecer o tamanho do bloco (block size) pode adivinhar o último caso de cada bloco. Por isso misturam-se vários tamanhos de bloco; os números dos blocos na tabela mostram onde termina um bloco.
- O último bloco pode ficar incompleto; os grupos não são então exatamente iguais no fim. Com «Manter completo o último bloco», a lista fica mais longa do que o número de lugares.
- Muitos estratos pequenos têm muitos blocos incompletos.
Modo oculto: pessoa a pessoa
- A lista inteira é criada no início a partir do acaso do navegador (não de uma semente) e não é mostrada. Cada pessoa só recebe o seu grupo quando o seu ID é introduzido; isto não pode ser desfeito, e cada ID conta só uma vez.
- A impressão digital (SHA-256 de um sal e da lista) compromete-se com a lista. Pertence ao protocolo do estudo antes da primeira inclusão. No fim, a lista é revelada juntamente com o sal; quem voltar a calcular a impressão digital vê que nada foi alterado depois.
- Limite: a lista só fica oculta de quem olha para o ecrã. Quem abrir as ferramentas de programador do navegador pode lê-la, e quem apagar o armazenamento do navegador perde a execução. Por isso, o registo deve ser guardado durante a inclusão. Um estudo real precisa de um sistema aprovado em que a pessoa que inclui nunca vê a lista.
Seleção a partir de uma lista
Os identificadores são apenas mostrados e nunca inseridos num comando; a lista fica no navegador. Os identificadores duplicados não são removidos (senão uma pessoa teria o dobro da probabilidade), mas assinalados; as linhas vazias são ignoradas. Limites: no máximo um milhão de linhas de no máximo 200 carateres cada. Uma seleção escolhe pessoas, uma alocação distribui-as por grupos; são dois passos diferentes.
Para especialistas
Gerador mulberry32 (32 bits) com subfluxos misturados a partir de (semente, número). Baralhamento segundo Fisher-Yates; a seleção só troca k lugares, pelo que um milhão de linhas quase não custa nada. Os métodos são definidos, não «corretos» em comparação com um padrão: outro gerador daria outras listas. As propriedades são testadas (cada bloco completo equilibrado, diferença no máximo metade do tamanho do bloco, mesma frequência de inclusão, mesma frequência das seis disposições de um bloco 1:1 de tamanho 4 para sementes fixas), bem como listas que foram produzidas no script com uma reconstrução do gerador em R.