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: __000000 not found
From
Nick Cox <[email protected]>
To
[email protected]
Subject
Re: st: __000000 not found
Date
Mon, 17 Dec 2012 13:37:41 +0000
No help file, no provenance.
People will (and definitely should) make their own decisions, but mine
is that I decline even to read code like this. I recommend seeking
support from the unnamed authors.
I should add that in principle __000000 could be any temporary name.
Nick
On Mon, Dec 17, 2012 at 1:17 PM, Rubil Ivica <[email protected]> wrote:
> Yes, it's a user-written command and here's the code:
>
> // elpp, varname() weights1() weights2() file1() file2() pline()
> program elpp, rclass
> version 10.1
> syntax, varname(string) weights1(string) weights2(string)
> file1(string) ///
> file2(string) PLINE(real) [graph]
>
> local data `varname'
> local wagi1 "`weights1'"
> local wagi2 "`weights2'"
>
> qui {
>
> tempname bal
> tempfile `bal'
>
> local year1 = substr("`file1'",5,4)
> local year2 = substr("`file2'",5,4)
>
> use "`file1'", clear
>
> total `wagi1'
> mat r1=e(b)
> scalar totw=r1[1,1]
>
> count
> scalar nobs_1=r(N)
> tempvar poor
> gen `poor'=0
> replace `poor'=1 if `data' < `pline'
> mean `poor' [aw=`wagi1']
> mat r1=e(b)
> scalar headcount=r1[1,1]
> count if `data' < `pline'
> scalar poor_no=r(N)
> keep `data' `wagi1'
>
> rename `data' `data'1
> save "`bal'", replace
>
> use "`file2'", clear
> keep `data' `wagi2'
> rename `data' `data'2
> merge using "`bal'"
>
> sum `data'1 [aw=`wagi1'], meanonly
> scalar m1=r(mean)
> sum `data'2 [aw=`wagi2'], meanonly
> scalar m2=r(mean)
>
> return scalar m1=m1
> return scalar m2=m2
>
> sort `data'1
> //tempname invF2
>
> cumul `data'1 [aw=`wagi1'], generate(cum_`data'1) equal
> invcdf cum_`data'1 [aw=`wagi2'], ref(`data'2) g(invF2)
>
> cumul `data'2 [aw=`wagi2'], generate(cum_`data'2) equal
> sort cum_`data'2
> gen invF2_2 = `data'2
> sort `data'1
>
> tempvar q f_watts k_watts f_fgt1_pi f_fgt1_k
> f_fgt1_k_deno f_fgt2_pi f_fgt2_k_nom f_fgt2_k_denom
> gen double `q' = m1/(m2-m1)*(invF2/`data'1 -1)
>
>
> // estimate for Watts
>
> gen double `f_watts'=0
> replace `f_watts'=`q'-1 if `data'1 < `pline'
> mean `f_watts' [aw=`wagi1']
> mat w=e(b)
> tempname w1 w2 w3 w4 w5 w6 w7 w8 w9
> scalar `w1'=w[1,1]
> return scalar pi_watts=`w1'
>
> gen double `k_watts'=0
> replace `k_watts'=`q' if `data'1 < `pline'
> mean `k_watts' [aw=`wagi1']
> mat w=e(b)
> scalar `w2'=w[1,1]
> return scalar kappa_watts=`w2'/(headcount)
>
>
> // estimate for headcount index
>
> kdens `data'1 [aw=`wagi1'], at(`data'1) generate(den)
> nograph
> local pline_ind=poor_no+1
> scalar den_at_pline=den[`pline_ind']
> return scalar pi_headcount =
> `pline'*(`q'[`pline_ind']-1)*den_at_pline
> return scalar kappa_headcount = `q'[`pline_ind']
>
> // estimate for FGT1 - normalized poverty deficit
>
> gen double `f_fgt1_pi' =0
> replace `f_fgt1_pi' = `data'1/`pline'*(`q'-1) if `data'1
> < `pline'
> mean `f_fgt1_pi' [aw=`wagi1']
> mat w=e(b)
> scalar `w3'=w[1,1]
> return scalar pi_fgt1=`w3'
>
> gen double `f_fgt1_k' = 0
> replace `f_fgt1_k' = `data'1 * `q' if `data'1 < `pline'
> mean `f_fgt1_k' [aw=`wagi1']
> mat w=e(b)
> scalar `w4'=w[1,1]
>
> gen double `f_fgt1_k_deno'=0
> replace `f_fgt1_k_deno' = `data'1 if `data'1 < `pline'
> mean `f_fgt1_k_deno' [aw=`wagi1']
> mat w=e(b)
> scalar `w5'=w[1,1]
> return scalar kappa_fgt1=`w4'/`w5'
>
> // estimate for FGT2 - squared poverty gap
> gen double `f_fgt2_pi' =0
> replace `f_fgt2_pi' =
> 2*`data'1/`pline'*(1-`data'1/`pline')*(`q'-1) if `data'1 < `pline'
> mean `f_fgt2_pi' [aw=`wagi1']
> mat w=e(b)
> scalar `w6'=w[1,1]
> return scalar pi_fgt2=`w6'
>
> gen double `f_fgt2_k_nom'=0
> replace `f_fgt2_k_nom' =
> 2*`data'1*(1-`data'1/`pline')*`q' if `data'1 < `pline'
> mean `f_fgt2_k_nom'
> mat w=e(b)
> scalar `w7'=w[1,1]
>
> gen double `f_fgt2_k_denom' = 0
> replace `f_fgt2_k_denom' = 2*`data'1*(1-`data'1/`pline')
> if `data'1 < `pline'
> mean `f_fgt2_k_denom'
> mat w=e(b)
> scalar `w8'=w[1,1]
>
> ratio `f_fgt2_k_nom'/`f_fgt2_k_denom' [pw=`wagi1']
> mat w=e(b)
> scalar `w9'=w[1,1]
>
> return scalar kappa_fgt2=`w9'
>
> // graph
> if "`graph'"=="graph" & "`savegraph'"=="" {
> gen qq=`q'
> gen bench =1
> gen cumpop = sum(`wagi1')/totw*100 if `data'1!=.
> sum `q', meanonly
> twoway mspline qq cumpop, legend(off)
> title("Pattern of growth") ///
> ytitle("Growth rates") xtitle("Cumulative
> percentage of population") ///
> xlabel(#11) yscale(titlegap(5))
> xscale(titlegap(5)) || line bench cumpop
> }
>
>
> if (m2/m1) <1 {
> noi dis
> noi dis as error " Warning! There was negative income
> growth during the period"
> noi dis as error " growth pattern curve and all
> coefficients have non-standard meaning"
> noi dis as error " and have been transformed, see
> Essamah and Lambert (2009), p. 8, 17)"
>
> return scalar pi_watts= -return(pi_watts)
> return scalar pi_headcount = -return(pi_headcount)
> return scalar pi_fgt1= -return(pi_fgt1)
> return scalar pi_fgt2= -return(pi_fgt2)
> return scalar kappa_watts=1/return(kappa_watts)
> return scalar kappa_headcount=1/return(kappa_headcount)
> return scalar kappa_fgt1=1/return(kappa_fgt1)
> return scalar kappa_fgt2=1/return(kappa_fgt2)
> }
>
> } //end qui
>
>
> dis _n as res "Essama-Nssah and Lambert pro-poorness indices"
> di _n as text "Mean income in period 1 = " as res return(m1)
> di as text "Mean income in period 2 = " as res return(m2)
> di _n as text "Additive index for the headcount ratio: " as res
> return(pi_headcount)
> di as text "Additive index for the FGT(1) index " as res
> return(pi_fgt1)
> di as text "Additive index for the FGT(2) index " as res
> return(pi_fgt2)
> di as text "Additive index for the Watts index " as res
> return(pi_watts)
>
> di _n as text "Ratio index for the headcount ratio " as res
> return(kappa_headcount)
> di as text "Ratio index for the FGT(1) index " as res
> return(kappa_fgt1)
> di as text "Ratio index for the FGT(2) index " as res
> return(kappa_fgt2)
> di as text "Ratio index for the Watts index " as res
> return(kappa_watts)
>
> end // EssamaLambert
>
>
>
>
>
> --
> Ivica Rubil
> Ekonomski institut || The Institute of Economics, Zagreb
> Trg J. F. Kennedyja 7, 10 000 Zagreb, Croatia
> tel. +385-1-2362-269 || fax. +385-1-2335-165
> [email protected] || www.eizg.hr
>
>
> -----Original Message-----
> From: [email protected]
> [mailto:[email protected]] On Behalf Of Nick Cox
> Sent: 17. prosinac 2012 14:10
> To: [email protected]
> Subject: Re: st: __000000 not found
>
> -elpp- is presumably some user-written command. You should explain
> where you got it.
>
> __000000 is the name of a temporary variable. I've not tried looking
> inside -elpp- or even finding the file -- as above, that's your job to
> explain -- but on this evidence -elpp- is not (easily) bootstrappable.
> Its use of -file*()- options seems to hint at that too.
>
> Nick
>
> On Mon, Dec 17, 2012 at 12:53 PM, Rubil Ivica <[email protected]> wrote:
>
>> Is there anybody who used the -elpp- for estimating the Essama-Nssah &
>> Lambert pro-poor indices? The command runs well but when I try to
> obtain
>> bootstrap standard errors I get a strange error message. Here are the
>> code and what Stata returns:
>>
>>
>>
>> bootstrap pi_hc=r(pi_headcount): elpp, varname(y) pline(849) ///
>> weights1(w0) weights2(w1) ///
>> file1(test_alb_y0) file2(test_alb_y1)
>> (running elpp on estimation sample)
>>
>> Bootstrap replications (50)
>> ----+--- 1 ---+--- 2 ---+--- 3 ---+--- 4 ---+--- 5
>> .................................................. 50
>> variable __000000 not found
>> r(111);
*
* For searches and help try:
* http://www.stata.com/help.cgi?search
* http://www.stata.com/support/faqs/resources/statalist-faq/
* http://www.ats.ucla.edu/stat/stata/