= Stata Matrices = '''Matrices''' are a fundamental data type in Stata, like [[Stata/Scalars|scalars]]. Note that [[Stata/Mata|Mata]] does not use this data type. <> ---- == Description == Matrices are collections of numeric values. Many commands return matrices; for example: {{{ correlate foo bar baz, covariance matrix cov = r(C) }}} ---- == Usage == To declare a matrix, try: {{{ matrix A = (1, 2 \ 3, 4) matrix input B = (5, 6 \ 1/3, _pi) }}} The '''`matrix input`''' subcommand allows for expressions as seen above, but otherwise does not differ. Matrix elements can be accessed by subscripting (row then column) while indexing from 1. Following from the above example, `A[1,2]` returns 2. To instead show the values of an entire matrix, try `matrix list A`. To join matrices horizontally, try {{{ matrix C = (A, B) }}} To join matrices vertically, try {{{ matrix C = (A \ B) }}} A '''vector''' is simply a special case of a matrix. === Row and Column Names === A new matrix uses sequential names for rows and columns (i.e., `r1`, `c1`, and so on). Commands that return matrices usually name the rows and columns. Commands that consume matrices often assume a common structure, and therefore require that specific names be used. To assign names, try: {{{ matrix rownames A = foo bar baz matrix colnames A = ham spam eggs }}} === Operators === Most operators work as expected. Note that the slash (`/`) performs element-wise scalar division. New operators include: * apostrophe (`'`) for [[LinearAlgebra/Transposition|transposition]], as in `A'` ---- == See also == [[https://www.stata.com/manuals/u14.pdf|Stata manual section 14: Matrix expressions]] ---- CategoryRicottone