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

# Re: st: Predict command

 From Tirthankar Chakravarty To statalist@hsphsun2.harvard.edu Subject Re: st: Predict command Date Fri, 23 Apr 2010 11:56:45 +0530

```Here is fully commented version of the same code. Hope this helps you
with the individual steps.

********************************************
clear*
clear mata
sysuse auto
regress mpg weight c.weight#c.weight foreign turn
mata
// calculate the p-values
vPval = 2*ttail(st_numscalar("e(df_r)"),abs(st_matrix("e(b)")'
:/ diagonal(cholesky(diag(st_matrix("e(V)"))))))
// 1 if variable significant (change the significance level here)
vPvalSelect = mm_cond(vPval :< .05, 1, 0) // need Ben Jann's -moremata- package
// vector of beta coefficients of significant variables
vBetaSelect = vPvalSelect:* st_matrix("e(b)")'
// matrix of data on independent variables
st_view(mData=., ., (st_macroexpand(regexr(regexr("`e(cmdline)'",
"`e(depvar)'", ""), "`e(cmd)'", ""))))
// this will choke on options
mData = mData, J(rows(mData),1,1)
// calculate the linear prediction for the significant variables
vLinPredSelect = mData*vBetaSelect
// full linear predictor for the model
stata("predict vLinPred, xb")
// draw the full linear predictor into Mata
st_view(vLinPred = ., ., "vLinPred")
// plot the two predicitons against each other
mm_plot((vLinPredSelect, vLinPred)) // need Ben Jann's -moremata- package
end
// bring the reduced prediction into Stata
getmata vLinPredSelect
********************************************

T

2010/4/23 Rasika Raghavan <rasikarag@gmail.com>:
> All,
>
>
> Tirthankar, the Mata looks a bit hard to comprehend, but will try to
> work it out. Thanks
>
> Rasika
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/statalist/faq
> *   http://www.ats.ucla.edu/stat/stata/
>

--
To every ω-consistent recursive class κ of formulae there correspond
recursive class signs r, such that neither v Gen r nor Neg(v Gen r)
belongs to Flg(κ) (where v is the free variable of r).

*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/
```