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

# RE: st: mata for-if-else

 From "Abhimanyu Arora" To Subject RE: st: mata for-if-else Date Wed, 14 Apr 2010 12:20:51 +0200

```Thanks Sabrina, but unfortunately the problem persists.

If I understood correctly what you meant, I used the following:

mata

a=J(1000,1,1)

for(i=1,i<1001,i++) {
a[i]=2 if b[i]==1
a[i]=3 if b[i]!=1

}

a
end

Regards
Abhimanyu

-----Original Message-----
From: owner-statalist@hsphsun2.harvard.edu
[mailto:owner-statalist@hsphsun2.harvard.edu] On Behalf Of Sabrina Carrossa
Sent: woensdag 14 april 2010 12:03
To: statalist@hsphsun2.harvard.edu
Subject: Re: st: mata for-if-else

I am not sure, but I guess you'd better use the "if qualifier" instead
of the "if-else" command.

On 14 April 2010 10:54, Abhimanyu Arora
<abhimanyu.arora@student.kuleuven.be> wrote:
> Dear statalist,
> I have simplified my problem to a large extent, but essentially has to do
> with using for-if-else commands in mata. I would like to create a matrix
'a'
> whose values depend on an existing matrix 'b' (both are 1000X1 vectors to
be
> precise). I need to tell mata the dimension of a first. But all I get
after
> executing the commands below is the original vector 'a'. What could be the
> possible error? I have tried adding and removing braces but it is not
> working...
>
>
>
>
> a=J(1000,1,.)
> for(i=1,i<1001,i++) {
> if (b[i]==1){
> a[i]=2
> }
> else {a[i]=3
> }
> }
> a
> end
>
>
> Thanks a lot
> Abhimanyu
>
> *
> *   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/
>

--
sabrina

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