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

RE: st: RE: Create graph directly from matrix?

From   "Nick Cox" <>
To   <>
Subject   RE: st: RE: Create graph directly from matrix?
Date   Mon, 16 Nov 2009 17:43:14 -0000

I agree. This is clever. But there is no new principle here. _n in any 
expression yielding a new variable is interpreted observation by


Nick Winter

Ah, interesting.

Looking within -_matplot-, it looks like the fundamental answer to my 
question might be "no", since that program creates temporary variables 
that it then plots.

But it uses an interesting construction that may help me go the 
variables route without using -svmat-:

gen x = Xy[_n,1] in 1/16

creates a new variable -x- from the first column of matrix Xy.  Pretty 
spiffy to use _n to tag the observation number/row number.

- Nick

Nick Cox wrote:
> Check out the undocumented command -_matplot-. 
> Nick 
> Nick Winter
> I'm wondering if there is a way to convert the values held into a
> into a graph (ie, into a serset that serves as the basis for a graph) 
> directly, without first making the matrix into variables?
> Why I'm curious:
> I'm thinking about revising my -oprobpr- command, which plots
> probabilities after order l/probit models.  The new -margins- command 
> can fairly easily calculate what's required for the plotting, and
> results can be saved as a matrix, using -margins-'s -post- option.
> So I'd like to plot the estimates returned in e(b) against values in
> e(at).
> I can put this stuff all together in one matrix, eg:
> sysuse auto
> probit foreign mpg price weight
> margins, atmeans at(mpg=(12(2.9)41)) post
> mat b = e(b)
> mat X = e(at)
> mat Xy = X , b'
> Then I'd like to create, eg, a line plot of the final column (named
> against the first column (mpg).
> I can, of course, use -svmat-, graph the relevant variables, and drop 
> the variables.
> But I'd love a more elegant solution.

*   For searches and help try:

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