Fördela med slumpen: slumpmässigt urval och tilldelningslista (allocation list)
Kort sagt
Rutan drar ett enkelt slumpmässigt urval ur en lista (talen 1 till N eller en inklistrad lista med ett ID per rad) eller fördelar personer på grupper: med blockrandomisering (gruppernas förhållande, flera blockstorlekar, valfritt separat per strata) eller med fasta gruppstorlekar. Varje lista kan sparas som CSV eller kopieras.
Ett undervisningsverktyg, ingen riktig randomisering av en studie
Startvärdet är synligt. Den som känner till det och metoden kan räkna ut hela listan i förväg; det finns ingen dold tilldelning (allocation concealment) och inget protokoll. En riktig studie kräver ett godkänt system, en oberoende person och institutionens protokoll. Därför börjar varje exporterad fil med raden ”Undervisningsverktyg - inte för riktiga studier (ingen dold tilldelning)”, startvärdet och metoden.
Startvärde
Standard är 20261008. Samma startvärde och samma inmatningar ger samma lista; ett annat startvärde ger en annan. Startvärdet kommer aldrig från klockan. Med strata har varje stratum en egen ström (stratumets nummer från 1): listan för ett stratum ändras inte när ett annat stratum blir större.
Block
- Ett block innehåller varje grupp så ofta som förhållandet kräver (vid 1:1 och blockstorlek 4 två gånger vardera), i slumpmässig ordning. Efter varje komplett block är grupperna exakt balanserade; däremellan skiljer de sig med högst en halv blockstorlek (block size).
- Den som känner till blockstorleken (block size) kan gissa det sista fallet i varje block. Därför blandas flera blockstorlekar; blocknumren i tabellen visar var ett block slutar.
- Det sista blocket kan förbli ofullständigt; grupperna är då inte exakt lika i slutet. Med ”Behåll det sista blocket komplett” blir listan längre än antalet platser.
- Många små strata har många ofullständiga block.
Dolt läge: person för person
- Hela listan skapas vid starten av webbläsarens slump (inte av ett startvärde) och visas inte. Varje person får sin grupp först när personens ID har skrivits in; det kan inte ångras, och varje ID räknas bara en gång.
- Fingeravtrycket (SHA-256 av ett salt och listan) binder listan. Det hör hemma i studieprotokollet före den första inklusionen. I slutet avslöjas listan tillsammans med saltet; den som räknar om fingeravtrycket ser att inget ändrats efteråt.
- Gräns: listan är bara dold för en blick på skärmen. Den som öppnar webbläsarens utvecklarverktyg kan läsa den, och den som rensar webbläsarens lagring förlorar körningen. Loggen bör därför sparas under inklusionen. En riktig studie kräver ett godkänt system där personen som inkluderar aldrig ser listan.
Urval ur en lista
ID visas bara och sätts aldrig in i ett kommando; listan stannar i webbläsaren. Dubbla ID tas inte bort (annars skulle en person ha dubbel chans) utan rapporteras; tomma rader hoppas över. Gränser: högst en miljon rader med högst 200 tecken vardera. Ett urval väljer ut personer, en tilldelning fördelar dem på grupper; det är två olika steg.
För specialister
Generatorn mulberry32 (32 bitar) med blandade delströmmar från (startvärde, nummer). Blandning enligt Fisher-Yates; urvalet byter bara k platser, så en miljon rader kostar nästan ingenting. Metoderna är definierade, inte ”korrekta” i jämförelse med en standard: en annan generator skulle ge andra listor. Egenskaperna är testade (varje komplett block balanserat, skillnad högst en halv blockstorlek, lika inklusionsfrekvens, lika frekvens för de sex arrangemangen av ett 1:1-block med storlek 4 för fasta startvärden) liksom listor som skapades i skriptet med en ombyggnad av generatorn i R.