Stata:“加权”均匀分布(加载骰子)

时间:2017-04-03 13:58:31

标签: stata distribution

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

目前我正在间隔[1,365]中产生一个随机出生日:

gen BD = ceil(runiform()*365)

我想要的是11月和12月的出生日期(间隔[305,365])将比其他月份低95%。

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

1 个答案:

答案 0 :(得分:0)

似乎

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