Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.
From | brendan.halpin@ul.ie (Brendan Halpin) |
To | statalist@hsphsun2.harvard.edu |
Subject | Re: st: RE: generate random sample |
Date | Mon, 16 Jan 2012 18:04:26 +0000 |
> Say, how to generate 3 independent random numbers from population > (1,2,3,4,5) with probability distribution (0.2, 0.1, 0.3, 0.3,0.1)? This is how I would do it: | gen draw = runiform() | | gen x = . | | replace x = 1 if inrange(draw, 0, 0.2) | replace x = 2 if inrange(draw, 0.2, 0.2+0.1) | replace x = 3 if inrange(draw, 0.2+0.1, 0.2+0.1+0.3 | replace x = 4 if inrange(draw, 0.2+0.1+0.3, 0.2+0.1+0.3+0.3) | replace x = 5 if inrange(draw, 0.2+0.1+0.3+0.3, 0.2+0.1+0.3+0.3+0.1) or (since the cut points are constants, not variables) just recode the appropriate ranges of runiform() into 1/5. Brendan -- Brendan Halpin, Department of Sociology, University of Limerick, Ireland Tel: w +353-61-213147 f +353-61-202569 h +353-61-338562; Room F1-009 x 3147 mailto:brendan.halpin@ul.ie ULSociology on Facebook: http://on.fb.me/fjIK9t http://teaching.sociology.ul.ie/bhalpin/wordpress twitter:@ULSociology * * For searches and help try: * http://www.stata.com/help.cgi?search * http://www.stata.com/support/statalist/faq * http://www.ats.ucla.edu/stat/stata/