Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: [9.2] mkmat rownames


From   "Nick Cox" <[email protected]>
To   <[email protected]>
Subject   st: RE: [9.2] mkmat rownames
Date   Sun, 10 Feb 2008 17:40:35 -0000

On the face of it, you should use the -rownames()- option to read in
your desired  row names. -mkmat- expects numeric variables to define the
(numeric) content of the matrix. At least that is the case in Stata 10. 
At this moment I don't have access to Stata 9 or a manual for 9. 

Nick 
[email protected] 

Keith Dear

I have a dataset that contains, in part:
. list tapm min max in 1/15

      +-----------------------------+
      |  tapm        min        max |
      |-----------------------------|
   1. |  tavg   9.281472   33.19886 |
   2. |  tmax   14.53456   41.24549 |
   3. |  tmin   .6966457   27.99766 |
   4. |  havg   1.905087   19.26358 |
   5. |  hmax   2.254643   23.64934 |
      |-----------------------------|
   6. |  ravg   18.82322   95.66055 |
   7. |  rmax   29.75645        100 |
   8. |    ws   .8907141   11.97882 |
   9. |  oavg   1.705984     52.421 |
  10. |  omax   5.090116    133.497 |
      |-----------------------------|
  11. |  navg   .0532477   25.27975 |
  12. |  nmax   .1555686   81.82613 |
  13. |  pavg   1.754097   39.62774 |
  14. |  pmax   2.989739   136.7765 |
  15. | o4max   3.433426   115.7704 |
      +-----------------------------+

I want to save the (min, max) values in a 15x2 matrix with rownames 
from variable tapm.

This doesn't work:
. mkmat tapm min max in 1/15, mat(R)
varlist:  tapm:  string variable not allowed
r(109);

I can get the numbers in ok:
. mkmat min max in 1/15, mat(R)
. mat list R

R[15,2]
            min        max
  r1  9.2814722   33.19886
  r2  14.534559  41.245491
  r3  .69664574  27.997656
  r4  1.9050874   19.26358
  r5  2.2546427  23.649343
  r6  18.823215  95.660553
  r7  29.756449        100
  r8  .89071411  11.978825
  r9  1.7059844  52.421001
r10   5.090116  133.49698
r11  .05324766  25.279753
r12   .1555686  81.826134
r13  1.7540972  39.627739
r14  2.9897394  136.77647
r15  3.4334259  115.77041

But how do I get the names in? Not like this, for example:
. mat rownames R = tapm
. mat list R

R[15,2]
             min        max
tapm  9.2814722   33.19886
tapm  14.534559  41.245491
tapm  .69664574  27.997656
tapm  1.9050874   19.26358
tapm  2.2546427  23.649343
tapm  18.823215  95.660553
tapm  29.756449        100
tapm  .89071411  11.978825
tapm  1.7059844  52.421001
tapm   5.090116  133.49698
tapm  .05324766  25.279753
tapm   .1555686  81.826134
tapm  1.7540972  39.627739
tapm  2.9897394  136.77647
tapm  3.4334259  115.77041

I suppose I could do it with a loop that builds a macro containing 
the 15 words, but am I overlooking a better way?

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



© Copyright 1996–2024 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   What's new   |   Site index