Notice: On March 31, it was **announced** that Statalist is moving from an email list to a **forum**. The old list will shut down at the end of May, and its replacement, **statalist.org** is already up and running.

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

From |
Maarten buis <maartenbuis@yahoo.co.uk> |

To |
statalist@hsphsun2.harvard.edu |

Subject |
Re: st: Fw: ADO file for ML estimation and temporary variables |

Date |
Fri, 17 Sep 2010 09:14:38 +0000 (GMT) |

--- On Fri, 17/9/10, Daniele Pacifico wrote: > Let's assume I have an ado file called "newcmd1.ado" that > should perform some manipulations of the variables in "varlist".. > At some point, this ado file calls another ado file - > "newcmd2.ado" - that should perform the maximisation of a > likelihood function. The results of this maximisation will be > used WITHIN "newcmd.ado" (the first one) once the likelihood > has been estimated (by using newcmd2.ado). > > Okay, the first problem is how to pass the temporary variables > that "newcmd1" creates before calling "newcmd2" into the ml > evaluator contained in "newcmd2".. <snip> this seems really > impossible! Here is one example how you might do this: *------------------- begin example ----------------------- program drop _all program define newcmd2_lf args lnf mu lnsigma quietly replace `lnf' = ln( normalden( $ML_y1, `mu', exp(`lnsigma') ) ) end program define newcmd2, eclass syntax varlist gettoken y x : varlist ml model lf newcmd2_lf (mu:`y' = `x') /lnsigma , maximize ereturn display end program define newcmd1 syntax varlist(min=2), GENerate(name) gettoken y x: varlist gettoken xx x : x tempvar xx2 gen `xx2' = `xx'^2 newcmd2 `y' `xx' `xx2' `x' predict `generate', xb eq(#1) end sysuse auto, clear newcmd1 mpg price, gen(foo) // check if -newcmd1- works: gen price2 = price^2 reg mpg price price2 predict xb scatter xb foo, aspect(1) || function y=x, range(15 26) *--------------------------- end example --------------------- The most efficient way of programming such a thing depends on all the little details of your problem, so you are the only person who can do that. However, this example shows at least that it is possible. Hope this helps, Maarten -------------------------- Maarten L. Buis Institut fuer Soziologie Universitaet Tuebingen Wilhelmstrasse 36 72074 Tuebingen Germany http://www.maartenbuis.nl -------------------------- * * 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/

**References**:**st: Fw: ADO file for ML estimation and temporary variables***From:*Daniele Pacifico <danielepacifico@yahoo.it>

- Prev by Date:
**Re: st: a loop error of -foreach-** - Next by Date:
**st: Suggestion for Reshape** - Previous by thread:
**st: Fw: ADO file for ML estimation and temporary variables** - Next by thread:
**st: save coefficients from a fixed effect regression** - Index(es):