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: Bootstrap AIDS elasticities
From
"Kieran McCaul" <[email protected]>
To
<[email protected]>
Subject
st: RE: Bootstrap AIDS elasticities
Date
Sun, 19 Sep 2010 09:48:27 +0800
...
if you want to return a scalar, you have to have -return scalar-
somewhere in there. See help return.
-----Original Message-----
From: [email protected]
[mailto:[email protected]] On Behalf Of Stefano Verde
Sent: Sunday, 19 September 2010 6:26 AM
To: [email protected]
Subject: st: Bootstrap AIDS elasticities
Hello,
I've been trying to bootstrap income and own price elasticities of the
AIDS model, using the function evaluator program coded by Poi (found
on the stata10 reference manual and reported below). However, every
attempt of boostrapping any statistic involving one or more of the
coefficients was unsuccessful. My understanding is that this happens
because the coefficients are temporary scalars. If so, what should I
do to make the coefficients returned scalars and hence, as such,
usable to bootstrap the elasticities?
Any help would be much appreciated,
Stefano Verde
capture program drop nlsuraids
program nlsuraids, rclass
version 10
syntax varlist(min=8 max=8) if, at(name)
tokenize `varlist'
args w1 w2 w3 lnp1 lnp2 lnp3 lnp4 lnm
tempname a1 a2 a3 a4
scalar `a1' = `at'[1,1]
scalar `a2' = `at'[1,2]
scalar `a3' = `at'[1,3]
scalar `a4' = 1 - `a1' - `a2' - `a3'
tempname b1 b2 b3 b4
scalar `b1' = `at'[1,4]
scalar `b2' = `at'[1,5]
scalar `b3' = `at'[1,6]
scalar `b4' = -`b1' - `b2' - `b3'
tempname g11 g12 g13 g14
tempname g21 g22 g23 g24
tempname g31 g32 g33 g34
tempname g41 g42 g43 g44
scalar `g11' = `at'[1,7]
scalar `g12' = `at'[1,8]
scalar `g13' = `at'[1,9]
scalar `g14' = -`g11' - `g12' - `g13'
scalar `g21' = `g12'
scalar `g22' = `at'[1,10]
scalar `g23' = `at'[1,11]
scalar `g24' = -`g21' - `g22' - `g23'
scalar `g31' = `g13'
scalar `g32' = `g23'
scalar `g33' = `at'[1,12]
scalar `g34' = -`g31' - `g32' - `g33'
scalar `g41' = `g14'
scalar `g42' = `g24'
scalar `g43' = `g34'
scalar `g44' = -`g41' - `g42' - `g43'
quietly {
tempvar lnpindex
gen double `lnpindex' = 5 + `a1'*`lnp1' + `a2'*`lnp2' + `a3'*`lnp3' +
`a4'*`lnp4'
forvalues i = 1/4 {
forvalues j = 1/4 {
replace `lnpindex' = `lnpindex' + 0.5*`g`i'`j''*`lnp`i''*`lnp`j''
}
}
replace `w1' = `a1' + `g11'*`lnp1' + `g12'*`lnp2' + `g13'*`lnp3' +
`g14'*`lnp4' + ///
`b1'*(`lnm' - `lnpindex')
replace `w2' = `a2' + `g21'*`lnp1' + `g22'*`lnp2' + `g23'*`lnp3' +
`g24'*`lnp4' + ///
`b2'*(`lnm' - `lnpindex')
replace `w3' = `a3' + `g31'*`lnp1' + `g32'*`lnp2' + `g33'*`lnp3' +
`g34'*`lnp4' + ///
`b3'*(`lnm' - `lnpindex')
}
end
*
* 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/