# sail: Sparse Additive Interaction Learning

`R`

software package to fit sparse additive interaction models with the strong heredity property. Interactions are limited to a single exposure or environment variable. The following figure (based on simulated data) gives an idea of the situation our method is trying to capture:

The x-axis is a predictor, the y-axis is the response and each line represents an exposure status. In this example, we see that the effect of the DNA methylation (at one CpG site) on obesity is linear for controls (unexposed: E=0) and non-linear for individuals with a gestational diabetes-affected pregnancy (exposed: E=1).

## Installation

You can install the development version of `sail`

from GitHub with:

```
if (!require("pacman")) install.packages("pacman")
pacman::p_install_gh("sahirbhatnagar/sail")
```

## Vignette

See the online vignette for details about the `sail`

model and example usage of the functions.

This method requires four inputs (let *n* be the number of observations and *p* the number of **X** variables):

1. **X**: *n* x *p* matrix of covariates. Can be high-dimensional, i.e., p >> n. Can also be continuous, categorical or a combination of both.

2. **Y**: a continuous response of length *n*

3. **E**: an exposure variable of length *n*. Can be continuous or categorical.

4. A basis expansion function **f(X_j)** to be applied to each column of **X**, for example

`f.basis <- function(x) splines::bs(x, degree = 5)`

## Model Output

The `sail`

method will search for all main effects and interactions between **E** and **f(X_j)** that are associated with the response **Y**, in a multivariable regression model. It will perform simultaneous variable selection and estimation of model parameters, and return a sparse model (i.e. many parameters with coefficient 0).

## Credit

We make use of the following packages:

## Latest news

You can see the most recent changes to the package in the NEWS.md file

## Code of Conduct

Please note that this project is released with a Contributor Code of Conduct. By participating in this project you agree to abide by its terms.