Stata:"Weighted"均匀分布(加载骰子)

Stata: "Weighted" uniform distribution (loaded dice)

我正在 Stata 中进行一些模拟,以解决出生日期数据缺失的问题。

目前我在区间 [1, 365]:

中随机生成出生日期
gen BD = ceil(runiform()*365)

我想要的是 11 月和 12 月(区间 [305, 365])的生日频率将比其余月份低 95%。

知道如何在 Stata 中实现这个吗?

好像是

tempname magic 
scalar `magic' = (61 * 0.05) / (304 + 61 * 0.05) 
gen BD = cond(runiform() <= `magic', ceil(304 + 61 * runiform()), ceil(304 * runiform())) 

这是一个最小的测试脚本:

clear 
set obs 100000
tempname magic 
scalar `magic' = (61 * 0.05) / (304 + 61 * 0.05) 
gen BD = cond(runiform() <= `magic', ceil(304 + 61 * runiform()), ceil(304 * runiform())) 
spikeplot BD