Eva's text was not meant to be taken literally!
Your own syntax commits you to supplying 16 variable names and the name of a matrix in an option.
Nick
[email protected]
[email protected]
Here's the return:
. matrix a = J(1,62,0)
. set trace on
.
. nlsurwellbehav "copies of dep. variables" "right hand side
variables" , at(a)
---------------------------------------------------------------- begin
nlsurwellbehav ---
- version 10.1
- syntax varlist(min=16 max=16) [if], at(name)
time-series operators not allowed
------------------------------------------------------------------ end
nlsurwellbehav ---
r(101);
Quoting Eva Poen <[email protected]>:
> I'm not sure I understand you here. Are you referring to the line
>
>> replace `lnc' = 5+`aq'*`lnq' ...
>
> where there is a hard coded 5 (not a starting value! This is a set
> value.), and did you replace this value of 5 by another parameter,
> e.g. `a0'? In terms of the program, that is not a problem as long as
> you adjust your code. It would be easiest if you put this parameter
> last, since this saves you the pain of changing all your `at'[1,x]
> statements to `at'[1,x+1]. Therefore, my suggestion would be to code
>
> scalar `dmm'=`at'[1,61]
> tempname a0
> scalar `a0' =`at'[1,62]
>
>
> quietly {
> replace `lnc' = `a0'+ ....
> }
>
> Now, for the debugging, just follow my suggestions earlier, and invoke
> your program directly. You need to create a matrix of initial values,
> e.g. zeros for all coefficients. If you have 62 parameters, you do
>
> matrix a = J(1,62,0)
>
> which gives you a row vector of 62 zeros. Next create copies of all
> your dependent variables, and invoke your program:
>
> set trace on
> nlsurwellbehav "copies of dep. variables" "right hand side variables" , at(a)
>
> and see where the problem lies.
*
* 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/