Statalist


[Date Prev][Date Next][Thread Prev][Thread Next][Date index][Thread index]

st: RE: Returning a local macro within -simulate- command: Type mismatch error?


From   "Nick Cox" <n.j.cox@durham.ac.uk>
To   <statalist@hsphsun2.harvard.edu>
Subject   st: RE: Returning a local macro within -simulate- command: Type mismatch error?
Date   Thu, 29 May 2008 18:11:20 +0100

Is this Stata 10? (If you are using an earlier version, you are asked to
state that fact.) 

This seems to work for me in Stata 10: 

capture program drop TrialProgram
program define TrialProgram
	clear
	set obs 9000
	capture drop x y
	drawnorm x y
	regress y x
end

simulate _b _se, seed(`c(seed)') noisily reps(30): TrialProgram

Notice that you can cut out the middle macro. There is no need to copy
from c(seed) to a r-class result, as c(seed) remains accessible. 

Nick
n.j.cox@durham.ac.uk 

Rachel

I'm running a simulation and would like to know the state of the
random number generator in each loop.   A simplified version of the
program is below.  I'm getting the error "Type mismatch r(109)"
apparently as a result of the way I'm returning the local macro
seedinit.

I may be missing something obvious, but I'd appreciate any suggestions
about how to fix this error.  Thanks very much.

capture program drop TrialProgram
program define TrialProgram, rclass
clear
set obs 9000
local seedinit1=c(seed)
capture drop x y
drawnorm x y
regress y x
return local seedinit "`seedinit1'"
end


simulate _b _se seedinit=r(seedinit), noisily reps(30): TrialProgram

*
*   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