蓝色 发表于 2013-5-9 09:15 
clear
program drop _all
您好 再请教一次 我再上面的例子上 加了个变量怎么就不行了 程序我改的不对吗
clear
program drop _all
program nlsuraids
version 10
syntax varlist(min=8 max=8) if, at(name)
tokenize `varlist'
args w1 w2 w3 w4 lnp1 lnp2 lnp3 lnp4 lnp5 lnm
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' = 1 - `a1' - `a2' - `a3'-`a4'
tempname b1 b2 b3 b4
scalar `b1' = `at'[1,5]
scalar `b2' = `at'[1,6]
scalar `b3' = `at'[1,7]
scalar `b4' = `at'[1,8]
tempname g11 g12 g13 g14 g15
tempname g21 g22 g23 g24 g25
tempname g31 g32 g33 g34 g35
tempname g41 g42 g43 g44 g45
tempname g51 g52 g53 g54 g55
scalar `g11' = `at'[1,9]
scalar `g12' = `at'[1,10]
scalar `g13' = `at'[1,11]
scalar `g14' = `at'[1,12]
scalar `g15' = -`g11'-`g12'-`g13'-`g14'
scalar `g21' = `g12'
scalar `g22' = `at'[1,13]
scalar `g23' = `at'[1,14]
scalar `g24' = `at'[1,15]
scalar `g25' = -`g21'-`g22'-`g23'-`g24'
scalar `g31' = `g13'
scalar `g32' = `g23'
scalar `g33' = `at'[1,16]
scalar `g34' = `at'[1,17]
scalar `g35' = -`g31'-`g32'-`g33'-`g34'
scalar `g41' = `g14'
scalar `g42' = `g24'
scalar `g43' = `g34'
scalar `g44' =`at'[1,18]
scalar `g45' = -`g41'-`g42'-`g43'-`g44'
scalar `g51' = `g15'
scalar `g52' = `g25'
scalar `g53' = `g35'
scalar `g54' = `g45'
scalar `g55' = -`g51'-`g52'-`g53'-`g54'
quietly {
tempvar lnpindex
gen double `lnpindex' = 6 + `a1'*`lnp1' + `a2'*`lnp2' + ///
`a3'*`lnp3' + `a4'*`lnp4'+`a5'*`lnp5'
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' ///
`b1'*(`lnm' - `lnpindex')
replace `w2' = `a2' + `g21'*`lnp1' + `g22'*`lnp2' + ///
`g23'*`lnp3' + `g24'*`lnp4' + `g25'*`lnp5' ///
`b2'*(`lnm' - `lnpindex')
replace `w3' = `a3' + `g31'*`lnp1' + `g32'*`lnp2' + ///
`g33'*`lnp3' + `g34'*`lnp4' +`g35'*`lnp5' ///
`b3'*(`lnm' - `lnpindex')
replace `w4' = `a4' + `g41'*`lnp1' + `g42'*`lnp2' + ///
`g43'*`lnp3' + `g44'*`lnp4' +`g45'*`lnp5' ///
`b4'*(`lnm' - `lnpindex')
}
end
use "E:\资料\论文\AIDS\AIDS1.dta", clear
nlsur aids @ w1 w2 w3 w4 lnp1 lnp2 lnp3 lnp4 lnp5 lnexp, ///
parameters(a1 a2 a3 a4 b1 b2 b3 b4 g11 g12 g13 g14 g22 g32 g33 g42 g43 g44 ) ///
neq(4) ifgnls
错误如下: