Stata The Stata listserver
[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

Re: st: Problems with program


From   "R.E. De Hoyos" <redeho@hotmail.com>
To   <statalist@hsphsun2.harvard.edu>
Subject   Re: st: Problems with program
Date   Thu, 18 Aug 2005 16:39:15 +0100

Andrea,

I haven't gone through your code, but if the problem is just with -outreg- why don't you using -estout- (ssc install estout) instead.

Rafa

----- Original Message ----- From: "Andrea Molinari" <A.Molinari@sussex.ac.uk>
To: <statalist@hsphsun2.harvard.edu>
Sent: Thursday, August 18, 2005 3:45 PM
Subject: Re: st: Problems with program



Christian,
Thanks for the suggestion. I tried changing the name of the global, but
still got the same error.
Any more ideas/suggestions are more than welcomed!!!
Thanks
Andrea

----- Original Message ----- From: "Christian Holz" <statalist@krueschan.de>
To: <statalist@hsphsun2.harvard.edu>
Sent: Thursday, August 18, 2005 1:37 PM
Subject: Re: st: Problems with program



Andrea,
use another name for your macro "varlist". The ado -outreg- uses
"varlist" as well. And since you defined it as a global macro (which
remains valid even in the outreg ado) it most likely interferes here.
Best from Scotland,
Christian
---
Christian Holz
Department of Sociology
University of Glasgow
Scotland, U.K.

Andrea Molinari wrote:
> Richard,
> Many thanks for your suggestion. I tried using globals, but again it
didn't
> seem to work. I'm attaching part of the code I'm using (it'll hopefully
be
> 'readable'). The strange thing is that I'm just having problems with > the
> outreg line of the program (STATA doesn't recognise the loop `var' in
the
> name of the out file...).
> Thanks again for help and ideas!
> Andrea
>
> global varlist "text wood paper chem nonmet bamet metal"
>
>
> global xvar "adj ldist eec9mxc ibemxc eftmxc grceec9mc grceec9xc
ibeeec9mc
> ibeeec9xc ibegrcmc ibegrcxc efteec9mc efteec9xc eftgrcmc eftgrcxc
eftibemc
> eftibexc eec9nmmc eec9nmxc grcnmmc grcnmxc ibenmmc ibenmxc eftnmmc
eftnmxc
> lingtie"
>
>
>
> global xvarsetPRE "adjsePRE ldistsePRE eec9sePRE ibesePRE eftsePRE
> grceec9msePRE grceec9xsePRE ibeeec9msePRE ibeeec9xsePRE ibegrcmsePRE
> ibegrcxsePRE efteec9msePRE efteec9xsePRE eftgrcmsePRE eftgrcxsePRE
> eftibemsePRE eftibexsePRE eec9nmmsePRE eec9nmxsePRE grcnmmsePRE
grcnmxsePRE
> ibenmmsePRE ibenmxsePRE eftnmmsePRE eftnmxsePRE lingtiesePRE"
>
>
>
> global xvarsetPOS "adjsePOS ldistsePOS eec9sePOS ibesePOS eftsePOS
> grceec9msePOS grceec9xsePOS ibeeec9msePOS ibeeec9xsePOS ibegrcmsePOS
> ibegrcxsePOS efteec9msePOS efteec9xsePOS eftgrcmsePOS eftgrcxsePOS
> eftibemsePOS eftibexsePOS eec9nmmsePOS eec9nmxsePOS grcnmmsePOS
grcnmxsePOS
> ibenmmsePOS ibenmxsePOS eftnmmsePOS eftnmxsePOS lingtiesePOS"
>
>
>
>
>
> capture program drop regse
>
> program regse
>
> local dep `1'
>
> local xvar "`2'"
>
> local cons `3'
>
> regress `dep' `xvar' `cons', robust nocons
>
> predict resid, r
>
> log on
>
> sktest resid
>
> jb1 resid
>
> log off
>
> drop resid
>
> *need to re-estimate the R-squared here!
>
> capture drop yhat
>
> capture drop r2
>
> capture drop constant
>
> gen constant=1
>
> mkmat $xvar constant, mat(xvar)
>
> matrix b = e(b)'
>
> matrix yhat = xvar * b
>
> svmat yhat, name(yhat)
>
> quietly corr `dep' yhat
>
> gen r2 = r(rho)^2
>
> di ":::::::::: R-squared using method 2 :::::::::::"
>
> di "R2 = " r2
>
> outreg using PREPOS`var'ss, bdec(3) coefastr se 3aster nor2
> addstat("R2",r2,"Normality",$jb) adec(4,2) append
>
> end
>
>
>
> foreach var of global varlist {
>
>
>
> log using chow2stage`var'ss.log, replace
>
>
>
> log off
>
>
>
> xtreg srem`var' srep`var' srec`var' lrgdp95pcm lrgdp95pcx lbrer > dbt`var'
> d79-d87 if year<1988, fe
>
> outreg using PREPOS`var'ss, bdec(3) coefastr se 3aster nor2 replace
>
>
>
> xtreg srem`var' srep`var' srec`var' lrgdp95pcm lrgdp95pcx lbrer > dbt`var'
> d93-d99 if year>=1992, fe
>
> outreg using PREPOS`var'ss, bdec(3) coefastr se 3aster nor2 append
>
>
>
> bysort mx: egen msrem`var'PRE=mean(srem`var') if year<1988
>
> by mx: egen msrep`var'PRE=mean(srep`var') if year<1988
>
> by mx: egen msrec`var'PRE=mean(srec`var') if year<1988
>
> by mx: egen mdbt`var'PRE=mean(dbt`var') if year<1988
>
> by mx: egen msrem`var'=mean(srem`var') if year>=1992
>
> by mx: egen msrem`var'POS=max(msrem`var')
>
> by mx: egen msrep`var'=mean(srep`var') if year>=1992
>
> by mx: egen msrep`var'POS=max(msrep`var')
>
> by mx: egen msrec`var'=mean(srec`var') if year>=1992
>
> by mx: egen msrec`var'POS=max(msrec`var')
>
> by mx: egen mdbt`var'=mean(dbt`var') if year>=1992
>
> by mx: egen mdbt`var'POS=max(mdbt`var')
>
>
>
>
>
> regse uset`var'PRE "$xvarsetPRE" conssePRE
>
> matrix rssPREset=e(rss)
>
> matrix nPREset=e(N)
>
>
>
> regse uset`var'POS "$xvarsetPOS" conssePOS
>
> matrix rssPOSset=e(rss)
>
> matrix nPOSset=e(N)
>
>
>
> save chowfetse`var'ss, replace
>
>
>
> log close
>
> }
>
>
>
>
>
> ----- Original Message ----- > From: "Richard Williams" <Richard.A.Williams.5@ND.edu>
> To: <statalist@hsphsun2.harvard.edu>
> Sent: Wednesday, August 17, 2005 3:45 PM
> Subject: Re: st: Problems with program
>
>
>
>>At 03:39 PM 8/17/2005 +0100, Andrea Molinari wrote:
>>
>>>Dear all,
>>>
>>>I am trying to build a program to estimate the same procedure but with
>>>seven (slightly) different sets of data. For this, I'm using the
>
> forvalues
>
>>>loop with seven locals, but this stops if there is a program (which
also
>>>uses those seven sets of data) inside the loop.
>>>
>>>I tried putting the programs outside the loop, and 'call' it inside >>>the
>>>loop, but in that case the program does not recognise the locals of >>>the
>>>loop.
>>>
>>>Does anyone have any suggestions for solving this problem?
>>
>>It would help to see some of your code, but one possibility might be to
>
> use
>
>>global variables instead of local variables.
>>
>>-------------------------------------------
>>Richard Williams, Notre Dame Dept of Sociology
>>OFFICE: (574)631-6668, (574)631-6463
>>FAX: (574)288-4373
>>HOME: (574)289-5227
>>EMAIL: Richard.A.Williams.5@ND.Edu
>>WWW (personal): http://www.nd.edu/~rwilliam
>>WWW (department): http://www.nd.edu/~soc
>>
>>*
>>* For searches and help try:
>>* http://www.stata.com/support/faqs/res/findit.html
>>* http://www.stata.com/support/statalist/faq
>>* http://www.ats.ucla.edu/stat/stata/
>>
>
>
> *
> * For searches and help try:
> * http://www.stata.com/support/faqs/res/findit.html
> * http://www.stata.com/support/statalist/faq
> * http://www.ats.ucla.edu/stat/stata/
>
*
* For searches and help try:
* http://www.stata.com/support/faqs/res/findit.html
* http://www.stata.com/support/statalist/faq
* http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/

*
*   For searches and help try:
*   http://www.stata.com/support/faqs/res/findit.html
*   http://www.stata.com/support/statalist/faq
*   http://www.ats.ucla.edu/stat/stata/



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