Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

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

st: AW: RE: RE: RE: RE: RE: where did my matrix go after calling -diagt-

From   "Martin Weiss" <>
To   <>
Subject   st: AW: RE: RE: RE: RE: RE: where did my matrix go after calling -diagt-
Date   Thu, 18 Feb 2010 15:44:36 +0100


" The revised program is your responsibility"

Weirdly enough, one of the first lines of -diagti- says

set trace off

which added significantly to the time it took me to get to the bottom of
Moleps` problem. So killing that line may make sense if you are planning to
clone your own version anyway...


-----Ursprüngliche Nachricht-----
[] Im Auftrag von Nick Cox
Gesendet: Donnerstag, 18. Februar 2010 15:39
Betreff: st: RE: RE: RE: RE: RE: where did my matrix go after calling

Agreed that the finger does point in that direction. The implications for
Moleps appear to be one or both of 

1. Use some other method for storing results. 

2. Clone -diagti- and try changing the line -clear- to -version 10: clear-.
The revised program is your responsibility! 


Martin Weiss

-preserve- does not seem to have much of an effect in this example, though:

mat a=(1,1)
mat l a

vers 9: clear

mat l a

Nick Cox

But that -clear- is preceded by -preserve-, so I'm not sure that's it. 


Martin Weiss

" Somewhere along that chain, matrices are being cleared."

-diagti- says: -clear- in its line 228, which these days would not hurt
Moleps' matrices. Yet in this case, -diagt- being old, it is called under
-version- 9 where a destruction of matrices was still part of -clear-`s

Nick Cox

You've got much more than that going on. -diagt- calls -diagti- which calls
many other things, and so on. 

Somewhere along that chain, matrices are being cleared. 

It's not your problem below, but I did notice that -diagt- overwrites any
existing matrix called T. As it destroys such a matrix any way, that's
incidental, but using a temporary name would be widely considered better



I´m creating a table using diagt (available from ssc) for different cutoff
values of p. However the matrix is lost after calling diagt (version 2.0.5)
and the same happens using this example-code:

(stata v10.1)

(ssc install diagt)
sysuse auto.dta
gen ind=price>10000
diagt ind foreign
mat a=(r(sens),r(spec))
mat list a
diagt ind foreign
mat dir

viewsource diagt.ado --no reference as far as I can tell to dropping of
matrices...Neither with diagti.

There is a previous post with diagt for bootstrap purposes, but there is no
reference to dropping of matrices.

*   For searches and help try:

*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index