You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Stata高效操作:如何用一行代码实现500/500完美随机分组

简洁实现Stata完美平衡随机分组(500处理组/500控制组)

方案1:两行高效代码(可读性优先)

gen rand = runiform()
gen treatment = rank(rand) <= 500

方案2:一行紧凑代码(极简优先)

gen treatment = cond(rank(runiform()) <= 500, 1, 0)

方案说明

  • 两种方案均通过Stata内置的rank()函数对随机数排序,直接取前500个样本标记为处理组(1),剩余样本为控制组(0),严格保证500/500的样本平衡,且rank()函数执行效率极高,比手动汇总中位数的方法更高效。
  • 对比原方案:
    • 原一行代码依赖随机数的均匀性,无法严格保证分组平衡,样本量较小时偏差更明显;
    • 原三行代码的中位数判断法虽能实现平衡,但多了汇总步骤,代码冗余且效率略低。

内容的提问来源于stack exchange,提问作者dykaplan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.10 07:57:04