See under 'conditional operator':
help m2_op_conditional (http://www.stata.com/help.cgi?m2_op_conditional)
Philippe
> -----Original Message-----
> From: [email protected] [mailto:owner-
> [email protected]] On Behalf Of Nicola Orsini
> Sent: Tuesday, May 12, 2009 1:21 PM
> To: [email protected]
> Subject: st: ifelse mata function
>
> Mata users,
>
> do you know any mata function similar to ifelse implemented in R or
> the cond() programming function in Stata?
>
> http://www.iiap.res.in/astrostat/School07/R/library/base/html/ifelse.ht
> ml
>
> I know I can loop across observations but it's not really fast with
> large dataset in an optimization process where this process has to be
> repeated many times.
>
> Here is a simple example
>
> mata
> mata clear
> y = runiform(10,1)
> x = runiform(10,1)
> z = J(10,1,.)
> for (i=1; i<=rows(y); i++) {
> if (y[i]>= x[i]) z[i] = y[i]-x[i]
> else z[i] = x[i]-y[i]
> }
> y, x, z
> end
>
> Wouldn't be great to have a mata function like -ifelse-?
>
> ifelse(y>=x, z=y-x, z=x-y)
>
> Nicola
>
>
>
> *
> * 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/