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

Stata数据集生成随机分配的50%0/50%1虚拟变量求助

Stata生成50%比例的随机虚拟变量

要生成与DATA列无关、满足50%为1、50%为0的虚拟变量,有两种实用方法:

方法1:近似50%比例(快速简便)

利用Stata的runiform()函数生成0到1之间的均匀随机数,当随机数小于0.5时赋值为1,否则为0,结果近似50%的比例:

generate Dummy = runiform() < 0.5

注:受随机性影响,实际比例可能和50%有微小偏差,但样本量越大越接近理论值。

方法2:严格50%比例(精准控制)

如果需要确保恰好一半观测为1,一半为0,可以结合sample命令实现:

// 先将Dummy初始化为0
generate Dummy = 0
// 随机选取50%的观测(count选项保证数量精确)
sample 50, count replace
// 将选中的观测的Dummy赋值为1
replace Dummy = 1 if e(sample)

这种方法会严格按照观测数的一半分配1,适合对比例精度要求高的场景。

两种方法生成的虚拟变量都和DATA列的城市ID完全无关,满足需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 22:32:01