在R中用blockrand实现2组4:1无分层区组随机化结果不符的问题
问题原因与修正方案
错误原因
你使用blockrand时未指定4:1的分组比例,函数默认采用等比例(1:1)平衡分组:
- 当你设置
block.sizes=5但未指定比例时,由于5是奇数,无法给2组分出相等数量的样本,函数自动将区组大小调整为10(偶数,可均分5个0和5个1); - 2个这样的区组(共20人)自然得到10:10的分配结果,与你预期的4:1不符。
修正代码
要实现每个区组5人、4个对照组(0)+1个干预组(1)的4:1区组随机化,需添加prob参数指定分组概率(对照组0占80%,干预组1占20%):
allocation_table_practice = blockrand(n = 20, num.levels = 2, block.sizes = 5, levels = c(0,1), prob = c(0.8, 0.2)) # 查看分组结果 table(allocation_table_practice$treatment)
运行后每个区组会固定分配4个0和1个1,20人最终会得到15个0、5个1的预期结果。
内容的提问来源于stack exchange,提问作者abrar
相关产品推荐
相关产品推荐

