Friday, March 03, 2006

st: RE: How to convert a MATA matrix into a STATA matrix?

> can anybody tell me how to convert a matrix generated in MATA > into STATA format? > > What I am looking for is hence the reverse of st_matrix. > > What I would like to ultimately do is to convert my MATA > matrix into data (like "svmat" for STATA matrics). > > > Best regards, > > UK >

Ulrich,

as far as I can see, you can both obtain and put matrices using st_matrix().

From the online help:

Obtain: real matrix st_matrix(string scalar name) string matrix st_matrixrowstripe(string scalar name) string matrix st_matrixcolstripe(string scalar name)

Put: void st_matrix(string scalar name, real matrix X) void st_matrixrowstripe(string scalar name, string matrix s) void st_matrixcolstripe(string scalar name, string matrix s) void st_replacematrix(string scalar name, real matrix X)

But you can also go directly from a Mata matrix to a Stata data set.

Use the st_store() function, e.g. in a do file like this:

----------------------------------------------------------- mata:

void function StoreData(real matrix X) { real rowvector varidx varidx = st_addvar("double", st_tempname(cols(X))) st_addobs(rows(X)) st_store(.,varidx,X) }

StoreData(X)

end

qui describe local nvars = `r(k)' unab varlist: _all local count 1 foreach var of local varlist { rename `var' var`count++' }

-----------------------------------------------------------

/Jesper

Kind regards,

Jesper Kjær Hansen Student Assistant Department of Statistics University of Southern Denmark mailto:kjaer.hansen@oncable.dk ____________________________________________

* * 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/


Tag:


Links to this post:

Create a Link



<< Home

This page is powered by Blogger. Isn't yours?