That being so, it seems you need to accumulate row names by hand, as you
guessed.
forval i = 1/15 {
local names `names' `=tapm[`i']'
}
matrix rownames R = `names'
Keith Dear
Thanks Nick, but that option must be new in Stata 10.
Stata 9 has a -matname- command and also -matrix rownames-,
but both need an explicit <namelist>, not a variable name.
Ah well, one more reason to upgrade.
Keith
At 04:40 AM 11/02/2008, you wrote:
>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/