Sorted it - just needed to insert command:
k.x.out$nasal_ocular[k.x.out$nasal_ocular==1] <- 0
after setx.
Thought I'd post, in case of use to someone else (or more likely myself in a
years time).
-----Original Message-----
From: Stephen Kay
Sent: 11 November 2010 14:31
To: 'zelig(a)lists.gking.harvard.edu'
Subject: Calculating conditional ATT using regression ran over full
sample not just controls
Hi,
I've trying to utilise Matchit and zelig together to produce a
conditional ATT quantity. Published examples show how to do this when the
parametric model coefficient estimates are obtained from zelig from
running the model just over the control units (with suitable weights
obtained from Matchit). My control sample is really too small to
accurately estimate these coefficients. My adapted code is below, which
runs without errors, but produces an estimate that (I think) are too far
near zero and statistically insignificant. It's certainly much smaller
than the relevant highly statistically significant treatment coefficient
in the parametric model.
I've a feeling the actual ATT estimate I'm producing is the average
difference between the actual dependent outcome value and its predicted
value in the treated group. Possibly the "sim" command doesn't realise
the
treatment/control binary indicator needs to be set to 0 in the data matrix
input from the "setx" output to estimate the counterfactual (not sure from
reading help file)? Any help is much appreciated - especially suggested
code changes. Many thanks from an R and zelig novice.
In code below "ocular_nasal" is my treatment/control binary indicator
variable with 1 = treatment; and 0 = control.
k.match.out<- matchit(nasal_ocular ~ m_age + m_bmi + smoke, data = k.gsk,
distance = "mahalanobis", method = "genetic", discard =
"both", ratio =
1,pop.size=400, int.seed=3313)
k.z.out <- zelig(RQ_Act ~ nasal_ocular + m_age + m_bmi + smoke, model =
"ls", data = match.data(k.match.out))
k.x.out <- setx(k.z.out,fn = NULL, data = match.data(k.match.out,
"treat"), cond = TRUE)
set.seed(3251)
k.s.out <- sim(k.z.out, x=k.x.out, num=1000)
summary(k.s.out)
Many thanks,
Stephen
Stephen Kay ¦ Director of Statistics
for Adelphi Real World (Manchester)
Adelphi Mill, Bollington, Cheshire SK10 5JB UK
Web:
http://www.adelphigroup.com/companies/company_real_world.asp
<http://www.adelphigroup.com/companies/company_real_world.asp>
Adelphi retains ownership of all DSP data and fieldwork materials. In
accordance with the company's Terms and Conditions, written prior approval
must be obtained with regard to any use of the data in any items submitted
for publication or for use in marketing materials.
Please consider the environment before printing this e-mail
DISCLAIMER: The information in this message is confidential and may be
legally privileged. It is intended solely for the addressee. Access to this
message by anyone else is unauthorised. If you are not the intended
recipient, any disclosure, copying, or distribution of the message, or any
action or omission taken by you in reliance on it, is prohibited and may be
unlawful. Please immediately contact the sender if you have received this
message in error. Thank you.