Moliterno, Thomas
> > I have a variable with values ranging from -1.58e-6 to
> 946515 (annual
> > scores on a particular matrix derived measure). I would like to
> > standardize these values on [0,1] so that the observation with the
> > highest value is given the value 1. Any thoughts on an
> > efficient way to do this?
Nick Winter
>
> You want to subtract the minimum of the variable, then divide by the
> range:
>
> sum myvar
> replace myvar = (myvar - `r(min)') / (`r(max)'-`r(min)')
>
> For lots of variables, this can be rolled up in foreach:
>
> foreach var in thisvar thatvar othervar {
> qui sum `var'
> replace `var' = (`var' - `r(min)') /
> (`r(max)'-`r(min)')
>
> }
For efficiency, note that
su `var', meanonly
is faster for this.
Nick
[email protected]
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/