Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

# RE: st: drawnorm for discrete variables

 From "Hollis,Michael E" To Subject RE: st: drawnorm for discrete variables Date Fri, 30 Apr 2010 06:58:31 -0700

```If  you believe your categorical variables are observed realizations of an underlying normal distribution, set a series of "threasholds" defining how the categorical variables correspond to the underlying continuous normally distributed variable.  Use this correspondence to create your series of observed categorical variables.

For example, let y* be an unobserved normally distributed variable with mean 0 and variance 1.  Assume that you want to create an observed binary variable, y, for which you belive the underlying proportion of "1"s in the population is 0.40.  Then if y* (the continuous normally distributed value you generate) is >= -0.253 (the z value corresponding to p=.4), set y=1 with y=0 otherwise.  The same strategy will work for creating categorical variables with more categoreis.  Just increase the number of threasholds to k-1, where k is the number of categories.

________________________________

From: owner-statalist@hsphsun2.harvard.edu on behalf of Tyler Frazier
Sent: Fri 4/30/2010 6:28 AM
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: drawnorm for discrete variables

thanks for the paper, it is very interesting and informative. I should
probably elaborate a bit on my question.  How to synthetically
generate a population from a sample where the variables are
continuous, discrete and binary?

i was using the drawnorm with the corr, sds, and means to generate
cases, but as you pointed out this only works for continuous
variables. how to synthetically generate for both?

thanks, Ty

On Fri, Apr 30, 2010 at 1:52 PM, Maarten buis <maartenbuis@yahoo.co.uk> wrote:
> --- On Fri, 30/4/10, Tyler Frazier wrote:
>> Whats the best way to drawnorm for discrete variables in stata -- for
>> example ethnicity, education, religion, occupation, etc...
>
> You can't use -drawnorm- for a discrete variable, -drawnorm- draws a
> sample from multivariate normal distribution, which is by definition
> continuous. You can consider: M.L. Buis (2007) "Stata tip 48: Discrete
> uses for uniform()" The Stata Journal, 7(3):434--435.
>
> Hope this helps,
> Maarten
>
> --------------------------
> Maarten L. Buis
> Institut fuer Soziologie
> Universitaet Tuebingen
> Wilhelmstrasse 36
> 72074 Tuebingen
> Germany
>
> http://www.maartenbuis.nl <http://www.maartenbuis.nl/>
> --------------------------
>
>
>
>
> *
> *   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/
>

*
*   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/

```

<<winmail.dat>>