Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at statalist.org.

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

From |
Sergiy Radyakin <[email protected]> |

To |
"[email protected]" <[email protected]> |

Subject |
Re: st: Error 198 in function evaluator program with nl |

Date |
Thu, 14 Nov 2013 14:44:35 -0500 |

Well, the curly brackets are quite confusing. Are you using them to highlight something in the posting which is not in your code? This is exactly where I had 198 and it disappeared once {} were removed. How comes -if- is not optional? 198 is a syntax error, so trace should reveal exactly the line where the error occurs. What does it show? Best, Sergiy On Thu, Nov 14, 2013 at 1:20 PM, Manuel Flores <[email protected]> wrote: > Thanks Nick for your reply. > > I made the change Nick suggests, but I keep getting the same error message. > > I really need to run the program. Thanks in advance for any other help. > > Manuel Flores > [email protected] > > > 2013/11/11 Nick Cox <[email protected]>: >> The lines >> >> scalar `delta' = `at'[1,17] >> >> gen double `wterm' = ln(exp(exp({`delta'})*`v16')-1) `if' >> >> look problematic to me. The problems start because `delta' is a >> tempname. You may want something more like >> >> gen double `wterm' = ln(exp(exp({delta=`delta'})*`v16')-1) `if' >> >> although my wild guess is that other fixes are needed. >> Nick >> [email protected] >> >> >> On 11 November 2013 19:11, Manuel Flores <[email protected]> wrote: >>> Dear statalist users, >>> I'm trying to estimate a LS nonlinear model with the nl command in >>> Stata MP/12.1. I have a gravity model of trade, with almost 300 >>> variables (including country fixed effects), so I need to do it >>> running a FEP. As I'm having troubles with the program I started with >>> a shorter version of the model without the dummies, keeping just 17 >>> independent variables and 18 parameters. >>> However, I keep getting a 198 error code, and I can't realize where >>> the bugs are. >>> Thanks in advance for any help! >>> >>> Here is the program: >>> ------------------------------ >>> capture program drop nlgrav >>> set trace on >>> program nlgrav >>> version 12 >>> syntax varlist (min=18 max=18) [aw fw iw] if, at(name) >>> local lexp: word 1 of `varlist' >>> local v1: word 2 of `varlist' >>> local v2: word 3 of `varlist' >>> local v3: word 4 of `varlist' >>> local v4: word 5 of `varlist' >>> local v5: word 6 of `varlist' >>> local v6: word 7 of `varlist' >>> local v7: word 8 of `varlist' >>> local v8: word 9 of `varlist' >>> local v9: word 10 of `varlist' >>> local v10: word 11 of `varlist' >>> local v11: word 12 of `varlist' >>> local v12: word 13 of `varlist' >>> local v13: word 14 of `varlist' >>> local v14: word 15 of `varlist' >>> local v15: word 16 of `varlist' >>> local v16: word 17 of `varlist' >>> local v17: word 18 of `varlist' >>> // Retrieve parameters out of at matrix >>> tempname b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 delta bun >>> scalar `b0' = `at'[1,1] >>> scalar `b1' = `at'[1,2] >>> scalar `b2' = `at'[1,3] >>> scalar `b3' = `at'[1,4] >>> scalar `b4' = `at'[1,5] >>> scalar `b5' = `at'[1,6] >>> scalar `b6' = `at'[1,7] >>> scalar `b7' = `at'[1,8] >>> scalar `b8' = `at'[1,9] >>> scalar `b9' = `at'[1,10] >>> scalar `b10' = `at'[1,11] >>> scalar `b11' = `at'[1,12] >>> scalar `b12' = `at'[1,13] >>> scalar `b13' = `at'[1,14] >>> scalar `b14' = `at'[1,15] >>> scalar `b15' = `at'[1,16] >>> scalar `delta' = `at'[1,17] >>> scalar `bun' = `at'[1,18] >>> // Some temporary variables >>> tempvar linterm1 linterm2 linterm3 wterm heckterm >>> gen double `linterm1' = (`b0' + `b1'*`v1' + `b2'*`v2' + >>> `b3'*`v3' + `b4'*`v4' + `b5'*`v5') `if' >>> summarize `linterm1' >>> gen double `linterm2' = (`b6'*`v6' + `b7'*`v7' + `b8'*`v8' + >>> `b9'*`v9' + `b10'*`v10') `if' >>> gen double `linterm3' = (`b11'*`v11' + `b12'*`v12' + `b13'*`v13' + >>> `b14'*`v14' + `b15'*`v15') `if' >>> gen double `wterm' = ln(exp(exp({`delta'})*`v16')-1) `if' >>> gen double `heckterm' = (`bun'*`v17') `if' >>> // Compute the first part of the function >>> replace `lexp' = (`linterm1' + `linterm2' + `linterm3' + `wterm' + >>> `heckterm') `if' >>> end >>> >>> ------------------------------- >>> I'm creating a matrix with initial values: >>> >>> matrix A = J(1, 18, 0) >>> matrix A[1,1]=10 >>> matrix A[1,2]=1 >>> matrix A[1,17]=1 >>> matrix A[1,18]=1 >>> >>> And running the program with the following syntax: >>> >>> nl grav @ lexp_posit /// >>> ldistcap /// >>> border /// >>> island_both /// >>> island_to_nonisl /// >>> island_fr_nonisl /// >>> landlock_both /// >>> landl_to_nonldlk /// >>> landl_fr_nonldlk /// >>> comleg /// >>> comlang_off /// >>> from_heg_to_col /// >>> from_col_to_heg /// >>> comcur /// >>> rta /// >>> rel_coinc /// >>> z_bar_hat /// >>> eta_hat2 /// >>> , parameters(b0 b1 b2 b3 b4 b5 b6 b7 b8 b9 b10 b11 b12 b13 b14 b15 >>> delta bun) at(A) >>> >>> >>> Best, >>> Manuel Flores >>> * >>> * 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/ * * 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/

**References**:**st: Error 198 in function evaluator program with nl***From:*Manuel Flores <[email protected]>

**Re: st: Error 198 in function evaluator program with nl***From:*Nick Cox <[email protected]>

**Re: st: Error 198 in function evaluator program with nl***From:*Manuel Flores <[email protected]>

- Prev by Date:
**st: Working with stored results e() and r()** - Next by Date:
**st: Panel model specification** - Previous by thread:
**Re: st: Error 198 in function evaluator program with nl** - Next by thread:
**st: RE: Error 198 in function evaluator program with nl** - Index(es):