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: RE: RE: -nlsur- AIDS
From
Nick Cox <[email protected]>
To
"'[email protected]'" <[email protected]>
Subject
RE: st: RE: RE: -nlsur- AIDS
Date
Fri, 11 Nov 2011 09:32:53 +0000
Depends on what "doesn't work" mean. If the problem is in your data, the program will run but there will be some other problem. If the problem is that your program is not valid, the result will be different. You really should be telling us exactly what "doesn't work" mean.
On a different note, please trim your postings of stuff no longer pertinent. A long posting is not a big deal to those who start reading at the top but it bulks out the daily digest for those who receive Statalist in that form.
Nick
[email protected]
-----Original Message-----
From: [email protected] [mailto:[email protected]] On Behalf Of Ivica Rubil
Sent: 11 November 2011 09:20
To: [email protected]
Subject: RE: st: RE: RE: -nlsur- AIDS
Brian and Nick,
I'm totally embarassed now, but guess what happened: doesn't work even
with matched names (this time "xxx", see below). Brian tried, with fake
data, and it worked. Could the problem be in my data? I have created w1
w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6 lnexp and the variables do not
look problematic in any way.
The code with matched names:
program nlsurxxx
version 12
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' = -`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'
tempname g61 g62 g63 g64 g65 g66
scalar `g61' = `g16'
scalar `g62' = `g26'
scalar `g63' = `g36'
scalar `g64' = `g46'
scalar `g65' = `g56'
scalar `g66' = -`g61'-`g62'-`g63'-`g64'-`g65'
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 xxx @ 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 Brian P. Poi
Sent: 10. studeni 2011 16:09
To: [email protected]
Subject: Re: st: RE: RE: -nlsur- AIDS
Ivica,
You've renamed your evaluator program nlsuraidsmmmm, but you are telling
-nlsur- to look for an evaluator program called nlsuraidsmesommmm:
> * -nlsur-
> nlsur aidsmesommmm @ w1 w2 w3 w4 w5 lnp1 lnp2 lnp3 lnp4 lnp5 lnp6
lnexp,
> ///
When I change the -nlsur- call to
nlsur aidsmmmm ...
it works fine (using fake data).
*
* 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/