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

st: Re: how to quietly svmat?

From   Christopher Baum <>
To   "Nick Cox" <>
Subject   st: Re: how to quietly svmat?
Date   Tue, 11 Nov 2008 16:16:50 -0500

Sorry; I had a nagging thought that this name may have been used, but did not check it out. Nick is quite right that more care should be taken to avoid stomping on existing names. (I was quite annoyed when the name of my -xttest1- routine, which had been circulating via SSC for a while, was usurped by a Stata Journal article!) For all 'svmat2' below read 'svmat22'.

Kit Baum, Boston College Economics and DIW Berlin
An Introduction to Modern Econometrics Using Stata:

On Nov 11, 2008, at 4:11 PM, Nick Cox wrote:

I agree strongly with Kit's approach here. It's been several years since
I reached for -svmat-.

However, Kit just plucked a program name out of the air, and
understandably forgot that the name -svmat2- was also used a while back for a program in this territory which is not yet completely superseded.

. search svmat2, historical

gives the details. StataCorp's implication in its .key file coding that -svmat2- is of historical interest only is not quite correct. Questions to which "use -svmat2-" is the answer still arise about once per year on

So, I suggest the use of some other name.


Christopher Baum

Just avoid it entirely and do it in Mata:

mata:mata clear
void function mm_svmat2(string scalar mat, string scalar vlist)
	m = st_matrix(mat)
	vv = tokens(vlist)
	st_view(X=., 1::rows(m), vv)
	X[. , .] = m

program drop _all
prog svmat2
syntax anything [,stub(string)]
local vn = cond("`stub'" == "", "var", "`stub'")
scalar nc = colsof(`anything')
forv i=1/`=nc' {
	local vname "`vn'`i'"
	qui gen double `vname' = .
	local vl "`vl' `vname'"
mata: mm_svmat2("`anything'","`vl'")

webuse auto, clear
qui corr price mpg headroom trunk weight length
mat corr=r(C)

svmat2 corr
svmat2 corr, stub(sergiy)

*   For searches and help try:

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