Hello, I am trying to use parametric g-computation to analyze probability of transitioning into adulthood at each age. Anyways after duplicating the observations, create a treatment and control for each unit, when plotting the graph I have that the lines are basically overlapped. I leave the code I did:
bysort id (eta): gen start_age = eta if working == 1 & (working[_n-1] == 0 & working[_n] == 1)
by id: egen a_transition = min(start_age)
bysort studio (eta): sum a_transition
gen time=0
replace time = anno - 2000
sort id time
gen treatment=0 if studio==4
replace treatment=1 if studio== 5
gen dtrans=0
replace dtrans=1 if a_transition!=.| working==1
expand 2, gen(interv)
replace treatment=interv
predict ptrans_k, pr
gen pchild = 1-ptrans_k
sort id time
gen _t = eta
sort id interv eta
by id: gen pkid = pchild[1] if _n==1
by id: replace pkid = pkid[1]
sort id interv eta
bysort id interv: replace pkid = pchild*pkid
by interv, sort: summarize pkid if eta <= 45
bysort interv : egen meanS = mean(pkid) if eta<=45
bys interv: summarize meanS
bysort interv eta : egen meanS_t = mean(pkid)
bys interv (eta): sum meanS_t
separate meanS_t, by(interv)
twoway (line meanS_t0 eta, sort) (line meanS_t1 eta, sort) , ylabel(0(0.05)0.3) xlabel(15(2)50) ytitle("Child probability") xtitle("eta") legend(label(1 "A=0") label(2 "A=1"))
Anybody has an idea of why this may happen given the code?
Thanks in advance.
bysort id (eta): gen start_age = eta if working == 1 & (working[_n-1] == 0 & working[_n] == 1)
by id: egen a_transition = min(start_age)
bysort studio (eta): sum a_transition
gen time=0
replace time = anno - 2000
sort id time
gen treatment=0 if studio==4
replace treatment=1 if studio== 5
gen dtrans=0
replace dtrans=1 if a_transition!=.| working==1
expand 2, gen(interv)
replace treatment=interv
predict ptrans_k, pr
gen pchild = 1-ptrans_k
sort id time
gen _t = eta
sort id interv eta
by id: gen pkid = pchild[1] if _n==1
by id: replace pkid = pkid[1]
sort id interv eta
bysort id interv: replace pkid = pchild*pkid
by interv, sort: summarize pkid if eta <= 45
bysort interv : egen meanS = mean(pkid) if eta<=45
bys interv: summarize meanS
bysort interv eta : egen meanS_t = mean(pkid)
bys interv (eta): sum meanS_t
separate meanS_t, by(interv)
twoway (line meanS_t0 eta, sort) (line meanS_t1 eta, sort) , ylabel(0(0.05)0.3) xlabel(15(2)50) ytitle("Child probability") xtitle("eta") legend(label(1 "A=0") label(2 "A=1"))
Anybody has an idea of why this may happen given the code?
Thanks in advance.
Comment