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
"Brian P. Poi" <[email protected]>
To
[email protected]
Subject
Re: st: RE: RE: -nlsur- AIDS
Date
Fri, 11 Nov 2011 08:22:35 -0600
Ivica,
When I generate fake data using the following code:
set seed 1
set obs 2000
forv i = 1/6 {
gen w`i' = rchi2(1)
gen lnp`i' = rchi2(1)
}
gen lnexp = rchi2(1)
your program works fine for me. If you would like, send your dataset directly to me ([email protected], NOT the entire statalist), and I will have a look. I'll report back to statalist when we figure out the problem.
Brian P. Poi
Senior Economist
StataCorp LP
Ivica Rubil wrote:
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
*
* 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/