R Function for Additive Interaction Measures
To overcome these limitations, several measures of interaction on the additive scale have been proposed,3,4 and editorial policy for the journal Epidemiology advocates their reporting as common practice. Additive measures assess the difference, rather than the ratio, by which the joint effect exceeds the individual contributions by the two exposures; common examples for a binary outcome and binary exposures appear in the Table (rows 1–3).
Such measures accurately identify subgroups to which interventions should be targeted2 and, furthermore, can be used to assess for “mechanistic interactions” based on the sufficient cause framework.5 Examples of mechanistic interactions include sufficient cause synergism and compositional epistasis (Table, rows 4–5). Under the assumption that there is no unmeasured confounding of either exposure–outcome relationship, a true relative excess risk due to interaction surpassing specific thresholds is sufficient to guarantee the existence of synergism and compositional epistasis. These thresholds on the relative excess risk due to interaction can be relaxed if one or both of the exposures can be assumed to have monotonic effects; that is, if the direction of the exposure’s causal effect would be the same direction for all individuals in the population.5
Existing software for additive interaction analyses in SAS and STATA6 allows the user to compute these measures, including the proportion of the effects attributable to interaction,5,6 along with confidence intervals. The present software provides a similar implementation in R with more options and flexibility than other R implementations, and it does not require recoding of exposures. It also more directly allows for the assessment of mechanistic interaction. The user-friendly R function additive_interactions addresses all these topics. The code is publicly available (https://osf.io/7ccpp/), along with documentation and usage examples. We briefly describe the functionality here.
The user passes a standard model object from a logistic regression (fit via R’s glm) of the outcome on both binary exposures and their interaction. The linear predictor can include confounders of arbitrary specification. Using fitted coefficients and their estimated variance–covariance matrix, the function computes estimates of the measures listed in the Table along with confidence intervals and P values based on the delta method.5 To test for mechanistic interactions, additive_interactions allows the user specify whether zero, one, or two of the exposures are assumed to have monotonic effects. Appropriate hypothesis tests are then conducted for both sufficient–cause interaction and compositional epistasis. All output is returned in the form of a dataframe. In the online documentation, we demonstrate application of the function to simulated data.
Additive interaction measures are typically conceptualized for settings in which both exposures are positively associated with the outcome (RR10 > 1 and RR01 > 1, denoting the joint relative risk
). Our function additive_interactions handles other cases by giving the option of automatically recoding of one or both exposures against new reference levels defined by the joint category with the lowest overall risk.7
We hope that the availability of a general, user-friendly R function may reduce a potential barrier to widespread reporting of additive interaction measures.