I have an observational dataset of about two dozen observed variables (continuous or discrete), plus a continuous variable of which I would like to measure the causal impact of on my dependent variable. Most of the R packages deal with binary or tri-level treatments.

The continuous treatment variable is not exactly continuous. It takes integer values between 0 and 250. The dataset is large enough to get multiple observations with the same value of the treatment variable.

Is it possible to make multiple discrete treatment levels and compare them in pairs. For example, get a causal estimate using propensity score matching of $Tr = 0$ to $0 < Tr < 6$. Then another one for $0 < Tr < 6$ and $5 < Tr < 11$, and so on? Would this be meaningful?

Even better, is there a good method/package to calculate the causal impact of a continuous variable directly? It seems to me to be a very general problem, so I'll be surprised if there aren't any good solutions to this out there.


1 Answer 1


This has been asked on the Statalist too. The post here mentions the user-written command doseresponse (a multivalued treatment effect evaluation method to assess the effect of a drug that participants could take in different levels of intensity) or the subroutine gpscore. The relevant reference is

  • Bia, M. and Mattei, A. (2008) "A STATA Package for the Estimation of the Dose-Response Function through Adjustment for the Generalized Propensity Score", Stata Journal Vol. 8 Nr. 3

where the authors introduce the algorithm and its computation. So even if it's not for R this will surely help you to program it.

For the theoretical background of continuous treatment evaluation methods see Kluve (2007) or Imbens and Hirano (2004).


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.