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]
st: RE: RE: -nlsur- AIDS
From
"Ivica Rubil" <[email protected]>
To
<[email protected]>
Subject
st: RE: RE: -nlsur- AIDS
Date
Thu, 10 Nov 2011 15:02:53 +0100
Nick, I've corrected what you suggested, but it still doesn't work. Of
course this is a 6-good AIDS (not a 5-good one as I said in the previous
mail).
Here's the corrected code which still doesn't work and returns the same
error message, namely that I have to check if "aids" is really a
function evaluator program.
CORRECTED CODE:
* Function evaluator program
program nlsuraids
version 11
syntax varlist(min=12 max=12) if, at(name)
tokenize `varlist'
args w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp
tempname a1 a2 a3 a4 a5 a6
scalar `a1' = `at'[1,1]
scalar `a2' = `at'[1,2]
scalar `a3' = `at'[1,3]
scalar `a4' = `at'[1,4]
scalar `a5' = `at'[1,5]
scalar `a6' = 1-`a1'-`a2'-`a3'-`a4'-`a5'
tempname b1 b2 b3 b4 b5 b6
scalar `b1' = `at'[1,6]
scalar `b2' = `at'[1,7]
scalar `b3' = `at'[1,8]
scalar `b4' = `at'[1,9]
scalar `b5' = `at'[1,10]
scalar `b6' = 1-`b1'-`b2'-`b3'-`b4'-`b5'
tempname g11 g12 g13 g14 g15 g16
scalar `g11' = `at'[1,11]
scalar `g12' = `at'[1,12]
scalar `g13' = `at'[1,13]
scalar `g14' = `at'[1,14]
scalar `g15' = `at'[1,15]
scalar `g16' = -`g11'-`g12'-`g13'-`g14'-`g15'
tempname g21 g22 g23 g24 g25 g26
scalar `g21' = `g12'
scalar `g22' = `at'[1,16]
scalar `g23' = `at'[1,17]
scalar `g24' = `at'[1,18]
scalar `g25' = `at'[1,19]
scalar `g26' = -`g21'-`g22'-`g23'-`g24'-`g25'
tempname g31 g32 g33 g34 g35 g36
scalar `g31' = `g13'
scalar `g32' = `g23'
scalar `g33' = `at'[1,20]
scalar `g34' = `at'[1,21]
scalar `g35' = `at'[1,22]
scalar `g36' = -`g31'-`g32'-`g33'-`g34'-`g35'
tempname g41 g42 g43 g44 g45 g46
scalar `g41' = `g14'
scalar `g42' = `g24'
scalar `g43' = `g34'
scalar `g44' = `at'[1,23]
scalar `g45' = `at'[1,24]
scalar `g46' = -`g41'-`g42'-`g43'-`g44'-`g45'
tempname g51 g52 g53 g54 g55 g56
scalar `g51' = `g15'
scalar `g52' = `g25'
scalar `g53' = `g35'
scalar `g54' = `g45'
scalar `g55' = `at'[1,25]
scalar `g56' = -`g51'-`g52'-`g53'-`g54'-`g55'
quietly {
tempvar lnpindex
gen double `lnpindex' = 5 + `a1'*`lnp1'
+ `a2'*`lnp2' + ///
`a3'*`lnp3'
+ `a4'*`lnp4' + ///
`a5'*`lnp5' + `a6'*`lnp6'
forvalues i = 1/6 {
forvalues j = 1/6 {
replace
`lnpindex' = `lnpindex' + 0.5*`g`i'`j''*`lnp`i''*`lnp`j''
}
}
replace `w1' = `a1' + `g11'*`lnp1' +
`g12'*`lnp2' + `g13'*`lnp3' + ///
`g14'*`lnp4' +
`g15'*`lnp5' + `g16'*`lnp6' + ///
`b1'*(`lnexp' - `lnpindex')
replace `w2' = `a2' + `g21'*`lnp1' +
`g22'*`lnp2' + `g23'*`lnp3' + ///
`g24'*`lnp4' +
`g25'*`lnp5' + `g26'*`lnp6' + ///
`b2'*(`lnexp' - `lnpindex')
replace `w3' = `a3' + `g31'*`lnp1' +
`g32'*`lnp2' + `g33'*`lnp3' + ///
`g34'*`lnp4' +
`g35'*`lnp5' + `g36'*`lnp6' + ///
`b3'*(`lnexp' - `lnpindex')
replace `w4' = `a4' + `g41'*`lnp1' +
`g42'*`lnp2' + `g43'*`lnp3' + ///
`g44'*`lnp4' +
`g45'*`lnp5' + `g46'*`lnp6' + ///
`b4'*(`lnexp' - `lnpindex')
replace `w5' = `a5' + `g51'*`lnp1' +
`g52'*`lnp2' + `g53'*`lnp3' + ///
`g54'*`lnp4' +
`g55'*`lnp5' + `g56'*`lnp6' + ///
`b5'*(`lnexp' - `lnpindex')
}
end
* -nlsur-
nlsur aids @ w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp, ///
ifgnls nequations(5) parameters(a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 ///
g11 g12 g13 g14 g15 g22 g23
g24 ///
g25 g33 g34 g35 g44 g45 g55)
--
Ivica Rubil
Ekonomski institut / The Institute of Economics, Zagreb
a. Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia
t. +385-1-2362-269
f. +385-1-2335-165
e. [email protected]
www.eizg.hr
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Nick Cox
Sent: 10. studeni 2011 12:19
To: '[email protected]'
Subject: st: RE: -nlsur- AIDS
You haven't declared a6 or b6 to be -tempname-s. I stopped reading at
that point.
Nick
[email protected]
Ivica Rubil
I have a 5-good AIDS demand system. Below is the code for the function
evaluator program followed by the -nlsur- command. The problem is that
Stata returns the following message:
nlsuraids returned 9
verify that nlsuraidsmeso2 is a function evaluator program
I've checked the code a number of times and I don't know where's the
mistake. Is there anyone patient enough to try to find it? Thanks in
advance!
Ivica
* function evaluator program
*****************************
program nlsuraids
version 11
syntax varlist(min=12 max=12) if, at(name)
tokenize `varlist'
args w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp
tempname a1 a2 a3 a4 a5
scalar `a1' = `at'[1,1]
scalar `a2' = `at'[1,2]
scalar `a3' = `at'[1,3]
scalar `a4' = `at'[1,4]
scalar `a5' = `at'[1,5]
scalar `a6' = 1-`a1'-`a2'-`a3'-`a4'-`a5'
tempname b1 b2 b3 b4 b5
scalar `b1' = `at'[1,6]
scalar `b2' = `at'[1,7]
scalar `b3' = `at'[1,8]
scalar `b4' = `at'[1,9]
scalar `b5' = `at'[1,10]
scalar `b6' = -`b1'-`b2'-`b3'-`b4'-`b5'
tempname g11 g12 g13 g14 g15 g16
tempname g21 g22 g23 g24 g25 g26
tempname g31 g32 g33 g34 g35 g36
tempname g41 g42 g43 g44 g45 g46
tempname g51 g52 g53 g54 g55 g56
scalar `g11' = `at'[1,11]
scalar `g12' = `at'[1,12]
scalar `g13' = `at'[1,13]
scalar `g14' = `at'[1,14]
scalar `g15' = `at'[1,15]
scalar `g16' = -`g11'-`g12'-`g13'-`g14'-`g15'
scalar `g21' = `g12'
scalar `g22' = `at'[1,16]
scalar `g23' = `at'[1,17]
scalar `g24' = `at'[1,18]
scalar `g25' = `at'[1,19]
scalar `g26' = -`g21'-`g22'-`g23'-`g24'-`g25'
scalar `g31' = `g13'
scalar `g32' = `g23'
scalar `g33' = `at'[1,20]
scalar `g34' = `at'[1,21]
scalar `g35' = `at'[1,22]
scalar `g36' = -`g31'-`g32'-`g33'-`g34'-`g35'
scalar `g41' = `g14'
scalar `g42' = `g24'
scalar `g43' = `g34'
scalar `g44' = `at'[1,23]
scalar `g45' = `at'[1,24]
scalar `g46' = -`g41'-`g42'-`g43'-`g44'-`g45'
scalar `g51' = `g15'
scalar `g52' = `g25'
scalar `g53' = `g35'
scalar `g54' = `g45'
scalar `g55' = `at'[1,25]
scalar `g56' = -`g51'-`g52'-`g53'-`g54'-`g55'
quietly {
tempvar lnpindex
gen double `lnpindex' = 5 + `a1'*`lnp1'
+ `a2'*`lnp2' + ///
`a3'*`lnp3'
+ `a4'*`lnp4' + ///
`a5'*`lnp5' + `a6'*`lnp6'
forvalues i = 1/5 {
forvalues j = 1/5 {
replace
`lnpindex' = `lnpindex' + 0.5*`g`i'`j''*`lnp`i''*`lnp`j''
}
}
replace `w1' = `a1' + `g11'*`lnp1' +
`g12'*`lnp2' + `g13'*`lnp3' + ///
`g14'*`lnp4' +
`g15'*`lnp5' + `g16'*`lnp6' + ///
`b1'*(`lnexp' - `lnpindex')
replace `w2' = `a2' + `g21'*`lnp1' +
`g22'*`lnp2' + `g23'*`lnp3' + ///
`g24'*`lnp4' +
`g25'*`lnp5' + `g26'*`lnp6' + ///
`b2'*(`lnexp' - `lnpindex')
replace `w3' = `a3' + `g31'*`lnp1' +
`g32'*`lnp2' + `g33'*`lnp3' + ///
`g34'*`lnp4' +
`g35'*`lnp5' + `g36'*`lnp6' + ///
`b3'*(`lnexp' - `lnpindex')
replace `w4' = `a4' + `g41'*`lnp1' +
`g42'*`lnp2' + `g43'*`lnp3' + ///
`g44'*`lnp4' +
`g45'*`lnp5' + `g46'*`lnp6' + ///
`b4'*(`lnexp' - `lnpindex')
replace `w5' = `a5' + `g51'*`lnp1' +
`g52'*`lnp2' + `g53'*`lnp3' + ///
`g54'*`lnp4' +
`g55'*`lnp5' + `g56'*`lnp6' + ///
`b5'*(`lnexp' - `lnpindex')
}
end
* -nlsur-
**********
nlsur aids @ w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp, ///
ifgnls nequations(5) parameters(a1 a2 a3 a4 a5 b1 b2 b3 b4 b5 g11
g12 g13 g14 g15 g22 g23 g24 ///
g25 g33 g34 g35 g44 g45 g55)
*
* 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/
*
* 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/