Stata中的随机特定数字

时间:2016-06-26 02:01:52

标签: stata

如何在Stata中获取特定的随机数?

示例我希望获得概率为25%的0,概率为25%的概率为10,概率为25%的概率为20,概率为25%的概率为30

由于

2 个答案:

答案 0 :(得分:1)

还可以使用mata函数rdiscrete()绘制此类随机变量:

clear 
set obs 1000 

generate wanted = . 
mata: st_store(., "wanted", 10*rdiscrete(1000, 1, (0.25, 0.25, 0.25, 0.25)):-10)

tabulate wanted


     wanted |      Freq.     Percent        Cum.
------------+-----------------------------------
          0 |        266       26.60       26.60
         10 |        235       23.50       50.10
         20 |        242       24.20       74.30
         30 |        257       25.70      100.00
------------+-----------------------------------
      Total |      1,000      100.00

答案 1 :(得分:0)

您对文档进行了哪些搜索?参见例如 the help on random number functions

你想要在连续的整数上只有均匀分布的倍数。虽然可以找到特定的函数,但是向上或向下舍入然后乘法的一般技巧可以与启动runiform()

一起使用
clear 
set obs 1000 
set seed 4852 
gen wanted = 10 * floor(4 * runiform())
tab wanted

另请参阅this discussion of floor and ceiling functionsthis discussion of your problem