0
votes

I'm working on a project where we'd like to run a follow-up linear regression model on treatment-control data where the treatments have been matched to the controls using the cem package to perform coarsened exact matching:

match <- cem(treatment="cohort", data=df, drop=c("member_id","period","cohort_period"))
est <- att(match, total_cost ~ cohort + period + cohort_period, data = df)

where I'd like to estimate the coefficient and 95% CI on the "cohort_period" interaction term. It seems the att function in the cem package only estimates the coefficient for the specified treatment variable (in this case, "cohort") while adjusting for other variables in the regression.

Is there a way to return the coefficients and 95% CIs for the other regression terms?

1
You should not interpret the other coefficients in the model. They have no causal interpretation because you have not adjusted for their confounding. This is called the Table 2 fallacy. Only the treatment variable has an interpretable effect and CI.Noah
@Noah So if I continue to use the cem package, would I have to specify treatment="cohort_period" instead of treatment="cohort" if I'm interested in measuring the cohort x period interaction effect (for a difference-in-differences study)?RobertF
@Noah Reading Westreich & Greenland's article on the Table 2 fallacy, I think my estimate of the cohort x period effect using the MatchIt and Zelig packages may still be unbiased. If I draw out a causal diagram for my project, it looks like: { period --------> total_cost <------------ cohort <---------- confounders } plus an additional arrow: { total_cost <--------- confounders } in the diagram. I think it's reasonable to assume whether an individual in my data falls in period=0 or period=1 is not related to confounder variable values like age, sex, etc.RobertF
Assuming this causal diagram is true, and since I'm not interested in unbiased estimates of the confounder variables, only cohort, period, and cohort x period, I should be immune to the Table 2 fallacy, wouldn't you say?RobertF
Oh, I agree now. Sorry. I assumed you wanted it for other variables in the model. If you want the subgroup average treatment effect at each level of period, just make sure you do exact matching on period, include period in the PS model (if using one), and include the cohort by period interaction in the outcome model. I think you should be fine with your solution.Noah

1 Answers

0
votes

Figured it out! I was using the wrong package - instead of cem I discovered the MatchIt and Zelig packages allow me to perform both exact matching and parameteric regression on the matched data:

library(MatchIt)
library(Zelig)

matched_df <- matchit(cohort ~ age_catg + sex + market_code + risk_score_catg, method="exact", data=df)
matched_df_reg <- zelig(total_cost ~ cohort + period + cohort_period, data = match.data(matched_df), model = "ls")