Bookmark and Share

Notice: On April 23, 2014, Statalist moved from an email list to a forum, based at

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: st: Using nonparametric control function as regressor in -reg-, for RDD/DiD

From   Austin Nichols <>
Subject   Re: st: Using nonparametric control function as regressor in -reg-, for RDD/DiD
Date   Mon, 11 Apr 2011 17:32:28 -0400

Jen Zhen <> :
You can use residuals from the pooled sample as your outcome in the
subsample, but I would be inclined to control for the linear effects
of age on both sides of the threshold in that subsample, not just use
the mean difference--the reason for including the linear terms is to
get approximately unbiased estimates of the mean difference at the
threshold, not to model the dependence of your outcome on age away
from the threshold.  E.g.

ssc inst rd, replace
net get rd
use votex, clear
rd lne d, mbw(100)
g w=max(0,e(w100)-d*sign(d))
la var w "weight for local linear regression"
g Main=i==0
ren lne outcome
g A50=d>0 if d<.
la var A50 "Age over 50"
g iact=A50*d
la var iact "interaction"
ren d age
la var age "Age minus 50"
reg outcome A50 iact age [pw=w]
loc pooled=_b[A50]
predict r, res
reg r A50 iact age [pw=w] if Main
loc sub=_b[A50]
reg outcome A50 iact age [pw=w] if Main
di `pooled'+`sub',_b[A50]
reg r A50 [pw=w] if Main

On Mon, Apr 11, 2011 at 6:20 AM, Jen Zhen <> wrote:
> Dear list members,
> I would like to estimate the effect of a treatment, to which everyone
> aged above 50 is assigned, while controlling sufficiently for the
> effect of age per se.
> Complication: My main sample is small, so if I estimate the effect of
> A50 plus control functions for both sides using only the main sample I
> lack statistical significance.
> I do however have a placebo sample, which should plausibly have the
> same effect of age per se, but in which being aged above 50 does not
> lead to treatment assignment.
> The first thing I did therefore was a DiD specification:
> -reg outcome A50 Mainsample A50_Mainsample-, and I think that is doing
> a good job.
> However, since I observe age to the day, I think it might be useful in
> addition to also try a specification with a continuous control
> function in age. Given my sample size complications, I would like to
> estimate this control function using also the observations from my
> larger placebo sample, but estimate the effect of A50 only for the
> main sample. I think I cannot do this by running -rd- on the pooled
> sample, because there I cannot specify that I want the effect of A50
> to be estimated for the main sample only.
> So I have "manually" run
> -reg outcome A50_Mainsample age age2 age3 A50*age A50_age2 A50_age3-
> Now I would like to repeat this but replace the polynomials in age
> with nonparametric control functions (within the reg command).
> Is there any way to do this (unless you think this is the wrong thing
> to do here anyway)?
> Thank you so much and best regards,
> JZ
*   For searches and help try:

© Copyright 1996–2018 StataCorp LLC   |   Terms of use   |   Privacy   |   Contact us   |   Site index