Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Re: Stata matrix to Mata matrix form - Turn lower diagonal matrix


From   "Bianca B." <bianca268@yahoo.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: Re: Stata matrix to Mata matrix form - Turn lower diagonal matrix
Date   Thu, 1 Nov 2012 10:57:40 -0700 (PDT)

The elements in row 1 are 0 and . (i.e. missing value), in row 2 1 and 0.
Then I converted my original stata matrix into mata.



--- On Thu, 11/1/12, Nick Cox <njcoxstata@gmail.com> wrote:

> From: Nick Cox <njcoxstata@gmail.com>
> Subject: Re: st: Re: Stata matrix to Mata matrix form - Turn lower diagonal matrix
> To: statalist@hsphsun2.harvard.edu
> Date: Thursday, November 1, 2012, 10:11 AM
> I mean what is the element in row 1
> and column 2 of your matrix?
> 
> mat_s2[1,2]
> 
> will display it in Mata.
> 
> I may be missing something important, but I don't understand
> how your
> matrix can display like that unless it is symmetric.
> 
> Nick
> 
> On Thu, Nov 1, 2012 at 4:46 PM, Bianca B. <bianca268@yahoo.com>
> wrote:
> 
> > mat_S2[1,2] is the name of the matrix.
> >
> >   mat_S2
> >
> >    1   2
> >    +---------+
> >  1 |  0      |
> >    |  1   0
> >    |
> >> >+---------+
> > I found this old post
> > http://www.stata.com/statalist/archive/2007-02/msg00156.html
> >
> > where there is exactly my same question that is to turn
> my lower-triangular matrix, named mat_S2, into a symmetrical
> matrix by reflecting the lower triangular elements across
> the diagonal.
> >
> > I tried to use mata makesymmetric function but I do not
> obtain the matrix I wish and that I report below
> >
> >          1   2
> >       +---------+
> >     1 | 
> 0   1  |
> >     2 | 
> 1   0  |
> >       +---------+
> >
> >
> >
> > --- On Thu, 11/1/12, Nick Cox <njcoxstata@gmail.com>
> wrote:
> >
> >> From: Nick Cox <njcoxstata@gmail.com>
> >> Subject: Re: st: Re: Stata matrix to Mata matrix
> form
> >> To: statalist@hsphsun2.harvard.edu
> >> Date: Thursday, November 1, 2012, 9:34 AM
> >> You've lost me. What is mat_S2[1,2]?
> >>
> >> Nick
> >>
> >> On Thu, Nov 1, 2012 at 3:39 PM, Bianca B. <bianca268@yahoo.com>
> >> wrote:
> >> > Nick, you're right, I'm sorry. I didn't
> specify that I
> >> need to turn my lower-triangular matrix into a
> symmetrical
> >> matrix by reflecting the lower triangular elements
> across
> >> the diagonal. So starting from this matrix
> >> >
> >> > mat_S2
> >> >
> >> >
> >>    1   2
> >> >      +---------+
> >> >    1 |  0     
> |
> >> >    2 |  1   0
> >> >      |
> >> >      +---------+
> >> >  I'd like to obtain a matrix like that
> >> >
> >> >
> >>    1   2
> >> >      +---------+
> >> >    1 | 
> 0   1  |
> >> >    2 | 
> 1   0  |
> >> >      +---------+
> >> >
> >> >
> >> >
> >> >
> >> > --- On Thu, 11/1/12, Nick Cox <njcoxstata@gmail.com>
> >> wrote:
> >> >
> >> >> From: Nick Cox <njcoxstata@gmail.com>
> >> >> Subject: Re: st: Re: Stata matrix to Mata
> matrix
> >> form
> >> >> To: statalist@hsphsun2.harvard.edu
> >> >> Date: Thursday, November 1, 2012, 8:29 AM
> >> >> Looks symmetric to me.
> >> >>
> >> >> If a matrix is symmetric, Stata says so,
> and only
> >> displays
> >> >> the lower
> >> >> half (including the principal diagonal).
> >> >>
> >> >> In your case, Stata is doing exactly
> that.
> >> >>
> >> >> Here is another example:
> >> >>
> >> >> . mata : I(3)
> >> >> [symmetric]
> >> >>
> >> >>
> >> 1   2   3
> >> >>     +-------------+
> >> >>   1 |  1
> >>     |
> >> >>   2 |
> >> 0   1      |
> >> >>   3 |
> >> >>
> 0   0   1  |
> >> >>     +-------------+
> >> >>
> >> >> If this is not what you mean, you'll have
> to
> >> explain what
> >> >> "doesn't
> >> >> work" means exactly.
> >> >>
> >> >> Nick
> >> >>
> >> >> On Thu, Nov 1, 2012 at 3:16 PM, Bianca B.
> <bianca268@yahoo.com>
> >> >> wrote:
> >> >> > Dear Nick,
> >> >> >
> >> >> > Thanks a lot. I converted a
> lower-triangular
> >> matrix
> >> >> from stata to mata form to apply the mata
> >> makesymmetric
> >> >> command but it doesn't work.
> >> >> > The command is
> >> >> >
> >> >> > : makesymmetric(mat_S2)
> >> >> > [symmetric]
> >> >> >
> >> 1   2
> >> >> >     +---------+
> >> >> >   1 |  0
> >>   |
> >> >> >   2 |
> >> 1   0
> >> >> |
> >> >> >     +---------+
> >> >> >
> >> >> > Would you have any suggestion?
> >> >> > Best,
> >> >> > Bianca
> >> >> >
> >> >> >
> >> >> >
> >> >> > . mat foo = J(6,7,42)
> >> >> >
> >> >> > . mat li foo
> >> >> >
> >> >> > foo[6,7]
> >> >> >     c1 
> c2  c3
> >> >> c4  c5  c6  c7
> >> >> > r1  42  42  42 
> 42
> >> 42
> >> >> 42  42
> >> >> > r2  42  42  42 
> 42
> >> 42
> >> >> 42  42
> >> >> > r3  42  42  42 
> 42
> >> 42
> >> >> 42  42
> >> >> > r4  42  42  42 
> 42
> >> 42
> >> >> 42  42
> >> >> > r5  42  42  42 
> 42
> >> 42
> >> >> 42  42
> >> >> > r6  42  42  42 
> 42
> >> 42
> >> >> 42  42
> >> >> >
> >> >> > . mata : mat_foo = st_matrix("foo")
> >> >> >
> >> >> > . mata : mat_foo
> >> >> >     
>    1
> >> >> 2    3    4 
>   5
> >> >> 6    7
> >> >> >
> >> >>
> >> +------------------------------------+
> >> >> >   1 |
> >> >>
> >>
> 42   42   42   42   42   42   42
> >> >> |
> >> >> >   2 |
> >> >>
> >>
> 42   42   42   42   42   42   42
> >> >> |
> >> >> >   3 |
> >> >>
> >>
> 42   42   42   42   42   42   42
> >> >> |
> >> >> >   4 |
> >> >>
> >>
> 42   42   42   42   42   42   42
> >> >> |
> >> >> >   5 |
> >> >>
> >>
> 42   42   42   42   42   42   42
> >> >> |
> >> >> >   6 |
> >> >>
> >>
> 42   42   42   42   42   42   42
> >> >> |
> >> >> >
> >> >>
> >> +------------------------------------+
> >> >> >
> >> >> > . mata : st_matrix("foo", mat_foo :/
> 7)
> >> >> >
> >> >> > . mat li foo
> >> >> >
> >> >> > foo[6,7]
> >> >> >     c1 
> c2  c3
> >> >> c4  c5  c6  c7
> >> >> >
> >> >>
> >>
> r1   6   6   6   6   6   6   6
> >> >> >
> >> >>
> >>
> r2   6   6   6   6   6   6   6
> >> >> >
> >> >>
> >>
> r3   6   6   6   6   6   6   6
> >> >> >
> >> >>
> >>
> r4   6   6   6   6   6   6   6
> >> >> >
> >> >>
> >>
> r5   6   6   6   6   6   6   6
> >> >> >
> >> >>
> >>
> r6   6   6   6   6   6   6   6
> >> >> >
> >> >> > --- On Thu, 11/1/12, Bianca B. <bianca268@yahoo.com>
> >> >> wrote:
> >> >> >
> >> >> >> From: Bianca B. <bianca268@yahoo.com>
> >> >> >> Subject: Stata matrix to Mata
> matrix form
> >> >> >> To: statalist@hsphsun2.harvard.edu
> >> >> >> Date: Thursday, November 1, 2012,
> 7:25 AM
> >> >> >> Hi Stata users,
> >> >> >>
> >> >> >> Does anyone know how can I get
> stata
> >> matrix in mata
> >> >> matrix?
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/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/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


© Copyright 1996–2014 StataCorp LP   |   Terms of use   |   Privacy   |   Contact us   |   Site index