The goal of formulops is to assist with formula modification in R treating formulae as standard mathematical operations as used with `nlme::nlme()`

and `lme4::nlmer()`

(for treatment as statistical formula see the `Formula`

package).

## Installation

You can install the released version of formulops from CRAN with:

`install.packages("formulops")`

## Example

A few common examples of modifying a formula are given below.

```
library(formulops)
# Replace a with c in the formula
modify_formula(a~b, find=quote(a), replace=quote(c))
# Replace a with c+d in the formula
modify_formula(a~b, find=quote(a), replace=quote(c+d))
# More complex parts can be replaced, too
modify_formula(a~b/c, find=quote(b/c), replace=quote(d))
# Multiple replacements can occur simultaneously
modify_formula(a~b/c+d, find=list(quote(b/c), quote(d)), replace=list(quote(d), quote(e)))
# Function arguments can be expanded
modify_formula(a~b(c), find=quote(c), replace=quote(formulops_expand(d, e)))
```

A substituting formula is a simple way to generate a complex formula from several simpler formulae. Parentheses are appropriately added, if required.

```
foo <- substituting_formula(y~x1+x2, x1~x3*x4, x2~x5/x6+x7)
as.formula(foo)
```