Returns the formula(s) for the different parts of a model
(like fixed or random effects, zero-inflated component, ...).
`formula_ok()`

checks if a model formula has valid syntax
regarding writing `TRUE`

instead of `T`

inside `poly()`

and that no data names are used (i.e. no `data$variable`

, but rather
`variable`

).

```
find_formula(x, verbose = TRUE, ...)
formula_ok(x, verbose = TRUE, ...)
```

x | A fitted model. |
---|---|

verbose | Toggle warnings. |

... | Currently not used. |

A list of formulas that describe the model. For simple models,
only one list-element, `conditional`

, is returned. For more complex
models, the returned list may have following elements:

`conditional`

, the "fixed effects" part from the model. One exception are`DirichletRegModel`

models from DirichletReg, which has two or three components, depending on`model`

.`\item `random`, the "random effects" part from the model (or the `id` for gee-models and similar) \item `zero_inflated`, the "fixed effects" part from the zero-inflation component of the model \item `zero_inflated_random`, the "random effects" part from the zero-inflation component of the model \item `dispersion`, the dispersion formula \item `instruments`, for fixed-effects regressions like `ivreg::ivreg()`, `lfe::felm()` or `plm::plm()`, the instrumental variables \item `cluster`, for fixed-effects regressions like `lfe::felm()`, the cluster specification \item `correlation`, for models with correlation-component like `nlme::gls()`, the formula that describes the correlation structure \item `slopes`, for fixed-effects individual-slope models like `feisr::feis()`, the formula for the slope parameters \item `precision`, for `DirichletRegModel` models from \pkg{DirichletReg}, when parametrization (i.e. `model`) is `"alternative"`.`

For models of class `lme`

or `gls`

the correlation-component
is only returned, when it is explicitly defined as named argument
(`form`

), e.g. `corAR1(form = ~1 | Mare)`

```
data(mtcars)
m <- lm(mpg ~ wt + cyl + vs, data = mtcars)
find_formula(m)
#> $conditional
#> mpg ~ wt + cyl + vs
#> <environment: 0x7f96f6171808>
#>
#> attr(,"class")
#> [1] "insight_formula" "list"
if (require("lme4")) {
m <- lmer(Sepal.Length ~ Sepal.Width + (1 | Species), data = iris)
f <- find_formula(m)
f
format(f)
}
#> [1] "Sepal.Length ~ Sepal.Width + (~1 | Species)"
```