---
title: "Adding support for new model classes"
output: rmarkdown::html_vignette
vignette: >
  %\VignetteIndexEntry{Adding support for new model classes}
  %\VignetteEncoding{UTF-8}
  %\VignetteEngine{knitr::rmarkdown}
editor_options:
  chunk_output_type: console
---

```{r, include = FALSE}
knitr::opts_chunk$set(
  collapse = TRUE,
  comment = "#>",
  warning = FALSE,
  message = FALSE
)
```

## Adding (almost) full support to the easystats ecosystem

To add support for models in the _easystats_ ecosystem, especially for the packages [_parameters_](https://easystats.github.io/parameters/), or to support most / all features from _easystats_, following methods should be added to the _insight_ package:

- `insight::find_formula()`
- `insight::model_info()`
- `insight::get_parameters()`
- `insight::get_statistic()`
- `insight::find_statistic()`
- `insight::get_varcov()`
- `insight::get_df()`

Nice to have (though some of the following functions could already work if the above methods are implemented):

- `insight::find_parameters()`
- `insight::get_modelmatrix()`
- `insight::get_predicted()`
- `insight::link_inverse()` and `insight::link_function()`
- `insight::get_residuals()`

## Adding basic support

If the purpose is just "tidy" output, it is enough to add following methods to the [_parameters_](https://easystats.github.io/parameters/) package:

- `parameters::ci()`
- `parameters::p_value()`
- `parameters::standard_error()` **or** `insight::get_varcov()`

The _simplest_ way is just adding a method for `parameters::model_parameters()`, however, than this model-class is not supported by _all_ functions we offer in the _easystats_ ecosystem.

See also https://easystats.github.io/effectsize/articles/effectsize_API.html