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]
Re: st: Could someone help me with my nl evaluation program? I update my program.
From
Scott Merryman <[email protected]>
To
[email protected]
Subject
Re: st: Could someone help me with my nl evaluation program? I update my program.
Date
Thu, 30 Jan 2014 09:15:55 -0600
It looks like the -`if'- is on a different line following the -gen
double...- statement.
The example below works:
sysuse auto,clear
gen lnprice = ln(price)
gen lowweight = (weight < 3000)
gen lowgear = (gear < 3)
capture program drop nlwage1
program nlwage1
version 12
syntax varlist(min=5 max=5) if, at(name)
local lnwage : word 1 of `varlist'
local income : word 2 of `varlist'
local dist1: word 3 of `varlist'
local dist2: word 4 of `varlist'
local dist3:word 5 of `varlist'
tempname k0 k1 k2
scalar `k0' = `at'[1, 1]
scalar `k1' = `at'[1, 2]
scalar `k2' = `at'[1, 3]
tempvar eterm
gen double `eterm'=`income'*exp(`k2'*`dist1') ///
+`income'*exp(`k2'*`dist2') ///
+`income'*exp(`k2'*`dist3') `if'
replace `lnwage' = `k0' +`k1'*ln(`eterm') `if'
end
nl wage1 @ lnprice mpg foreign lowweight lowgear, ///
parameters(k0 k1 k2 ) initial(k0 0.05 k1 0.02 k2 0.03)
Scott
*
* 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/