  Do-calculus is concerned with estimating the interventional distribution of
an action from the observed joint probability distribution of the variables in
a given causal structure. All identifiable causal effects can be derived using
the rules of do-calculus, but the rules themselves do not give any direct
indication whether the effect in question is identifiable or not. Shpitser and
Pearl constructed an algorithm for identifying joint interventional
distributions in causal models, which contain unobserved variables and induce
directed acyclic graphs. This algorithm can be seen as a repeated application
of the rules of do-calculus and known properties of probabilities, and it
ultimately either derives an expression for the causal distribution, or fails
to identify the effect, in which case the effect is non-identifiable. In this
paper, the R package causaleffect is presented, which provides an
implementation of this algorithm. Functionality of causaleffect is also
demonstrated through examples.
