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: Stata Program Command

From   Hassan Enayati <>
Subject   st: Stata Program Command
Date   Fri, 15 Jun 2012 09:43:35 -0400

Hello all,

I am trying to write my first Stata program and am having some
difficulties. At the end of the day, I would like a program (like
eststo but not really the same b/c of formatting issues) that grabs
certain results from a series of regressions (always a simple
regressions) and stores these results in a matrix. Below is the
program. The interesting problem is that the matrix contains duplicate
rows of the last regression and always only two rows.

clear all
sysuse auto
capture matrix drop X
capture program drop grabest
program define grabest
    matrix betas = e(b)
    matrix beta = betas[1,1]
    matrix num = e(N)
    matrix var1 = e(V)
    scalar se1 = ( var1[1,1])^(0.5)
    matrix X = beta, num, se1
    capture confirm matrix X
    if _rc==111 {
        matrix X = beta,num,se1
    else {
        matrix X = X \ beta,num,se1
    matrix drop betas beta num var1
    scalar drop se1

reg price weight
reg length turn
reg turn weight
matrix list X

An additional question I have deals more directly with the
construction of the program. How do I create the program so that it
generates a matrix with a name I specify. Hence, I would like to be
able to write:
grabest, matrix(autos1)
where autos1 = X in the above example.


*   For searches and help try:

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