Stata 从宏到变量的随机彩票号码
我在宏中有以下彩票号码:Stata 从宏到变量的随机彩票号码,stata,Stata,我在宏中有以下彩票号码: global lottery 6 9 4 32 98 如何使用50观察值模拟变量,其中每个观察值都是从宏中存储的数字中随机获得的 下面的代码生成一个错误: set obs 50 global lottery 6 9 4 32 98 g lot=$lottery invalid '9' r(198); 以下是两种类似的方法: clear set obs 50 set seed 2803 local lottery 6 9 4 32 98 * method
global lottery 6 9 4 32 98
如何使用50
观察值模拟变量,其中每个观察值都是从宏中存储的数字中随机获得的
下面的代码生成一个错误:
set obs 50
global lottery 6 9 4 32 98
g lot=$lottery
invalid '9'
r(198);
以下是两种类似的方法:
clear
set obs 50
set seed 2803
local lottery 6 9 4 32 98
* method 1
generate x1 = ceil(5 * runiform())
tabulate x1
generate y1 = .
forvalues j = 1/5 {
replace y1 = real(word("`lottery'", `j')) if x1 == `j'
}
* method2
set seed 2803
generate x2 = runiform()
generate y2 = cond(x2 <= 0.2, 6, cond(x2 <= 0.4, 9, cond(x2 <= 0.6, 4, cond(x2 <= 0.8, 32, 98))))
tab1 y?
清除
设置obs 50
播种2803
本地彩票6943298
*方法1
生成x1=ceil(5*runiform())
表格x1
生成y1=。
对于值j=1/5{
如果x1=`j',则替换y1=real(单词(`lotking',`j'))
}
*方法2
播种2803
生成x2=runiform()
生成y2=秒(x2