1

ここで、先ほどの質問に対する暫定的な解決策を示します。機能しているように見えますが、シャッフルを見るとddply、実際にはランダムなのだろうかと思います。ブロック 4のように、いくつかの分割は不運に思えBAAAABます。使用して繰り返しシャッフルすることを考えていましddplyたが、他の潜在的な解決策に興味があります。

#### Load packages ####

require(plyr)

#### Create randomization ####

set.seed(1984)
nBlocks <- 1:9
sBlocks <- c( sample( c(rep(3,4), rep(6,3)) ), sample( c(3,6) ) )
trtGroup <- c("A","B")
trtRatio <- 2:1
rand <- data.frame( block=rep(nBlocks, sBlocks), treatment=rep(trtGroup, trtRatio) )
rand <- ddply(rand[sample(row.names(rand)), ], .(block))
rand

質問:

最近、SAS Plan Procedure を使用して、さまざまなブロック サイズで順列ブロックのランダム化を実行する方法を学びました。私は、R を使用して同じことを行う方法を見つけようとしています。パッケージはblockrandexperiment治療グループ間で患者の数が等しくないことを許可しません。

30 人の患者を実験群と対照群に 2:1 の比率で無作為に割り当てたいとします (つまり、実験群で N=20、対照群で N=10)。さらに、6 人の患者の 3 つのブロックと 3 人の患者の 4 つのブロックが必要であり、ブロック サイズをランダムに変化させたいとします。Rを使用してそれを行うにはどうすればよいですか?

4

2 に答える 2