Bookmark and Share

Notice: On March 31, it was announced that Statalist is moving from an email list to a forum. The old list will shut down on April 23, and its replacement, statalist.org is already up and running.


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

Re: st: macro `if' in nonlinear least squares


From   Francesca Colantuoni <f.colantuoni9@gmail.com>
To   statalist@hsphsun2.harvard.edu
Subject   Re: st: macro `if' in nonlinear least squares
Date   Thu, 2 May 2013 11:48:14 -0400

Thanks Nick for your response. I did not find this explanation in
[U]nl, but I have not tried -help nl-.
If I understand correctly, unless I have other rescrictions for
subsamples, the `if' will not matter, but it's part of the routine.

Francesca

On Thu, May 2, 2013 at 11:33 AM, Nick Cox <njcoxstata@gmail.com> wrote:
> See the help and manual entry for -nl-. The short answer is that for
> generality a program must have a way of working with subsets. If you
> are all the data, `if' is empty and no restriction is applied.
>
> "Function evaluator programs must accept a varlist, an if exp, and an
> option named at()
>     that accepts the name of a matrix.  It may optionally accept
> weights as well.  Unlike
>     substitutable expression programs, a function evaluator program is
> not declared to be
>     r-class.  The outline of a nlfunc_prog program is
>
>         program nlfunc_prog
>             version 10
>             syntax varlist [aw fw iw] if, at(name)
>             local lhs: word 1 of `varlist'
>             local rhs: subinstr local varlist "`lhs'" "", word
>             (evaluate the function at at matrix)
>             replace `lhs' = <the function values> `if'
>         end
>
>     When evaluating your function, remember to restrict the estimation
> sample by using `if'."
> Nick
> njcoxstata@gmail.com
>
>
> On 2 May 2013 16:27, Francesca Colantuoni <f.colantuoni9@gmail.com> wrote:
>> I am programming a nonlinear least square regression, and I am trying
>> to find the best way to do it based on variuos examples that I found
>> online.
>>
>> In the following code, I have trouble understanding what stata does
>> with the macro `if' at the end of the generate command. Would anybody
>> clarify that for me? I could not find an explanation for this use of
>> "if" in either [P] or [U] manual (or Google).
>>
>> // Some temporary variables
>>     tempvar kterm lterm
>>     generate double `kterm' = `delta'*`capital'^(-1*`rho') `if'
>>     generate double `lterm' = (1-`delta')*`labor'^(-1*`rho') `if'
>>
>>     // Now fill in dependent variable
>>     replace `logout' = `b0' - 1/`rho'*ln(`kterm'+`lterm') `if'
>>
>> Best Regards,
>> Francesca
>> *
>> *   For searches and help try:
>> *   http://www.stata.com/help.cgi?search
>> *   http://www.stata.com/support/faqs/resources/statalist-faq/
>> *   http://www.ats.ucla.edu/stat/stata/
> *
> *   For searches and help try:
> *   http://www.stata.com/help.cgi?search
> *   http://www.stata.com/support/faqs/resources/statalist-faq/
> *   http://www.ats.ucla.edu/stat/stata/
*
*   For searches and help try:
*   http://www.stata.com/help.cgi?search
*   http://www.stata.com/support/faqs/resources/statalist-faq/
*   http://www.ats.ucla.edu/stat/stata/


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