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

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

From |
Phil Schumm <[email protected]> |

To |
Statalist Statalist <[email protected]> |

Subject |
Re: st: Making a matrix out of three variables |

Date |
Thu, 16 Jan 2014 15:19:06 -0600 |

On Jan 16, 2014, at 2:03 PM, Eilya Torshizian <[email protected]> wrote: > I need to convert three variables to a matrix. The values of variable A and B should be used as row and column names of the output matrix. Let's assume three columns of data, where A, B and C are the name of my numeric variables, > > A B C > A1 | A1 | C1 > A1 | A2 | C2 > A1 | A4 | C3 > A1 | A5 | C4 > A2 | A2 | C5 > A2 | A1 | C6 > A2 | A3 | C7 > > I need to convert these to the following matrix, > > A1 A2 A3 A4 A5 > A1 C1 C2 0 C3 0 > A2 C6 C5 C7 0 0 > > As I have a wide range of observations, I would like to avoid nested loops. Assuming C is a numeric variable, the following will do what you want (with the resulting matrix named "M"): reshape wide C, i(A) j(B) string mkmat C*, matrix("M") rownames(A) mata: st_matrix("M", editmissing(st_matrix("M"),0)) Note that the only way to replace the initial missing values of the matrix with 0s is to use the Mata function editmissing(). -- Phil * * 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/

**Follow-Ups**:**RE: st: Making a matrix out of three variables***From:*Eilya Torshizian <[email protected]>

**References**:**st: Making a matrix out of three variables***From:*Eilya Torshizian <[email protected]>

- Prev by Date:
**st: RE: Making a matrix out of three variables** - Next by Date:
**RE: st: Making a matrix out of three variables** - Previous by thread:
**st: RE: Making a matrix out of three variables** - Next by thread:
**RE: st: Making a matrix out of three variables** - Index(es):