Fit the multivariate Poisson lognormal model with a variational algorithm. Use the (g)lm syntax for model specification (covariates, offsets, weights).

`PLN(formula, data, subset, weights, control = PLN_param())`

- formula
an object of class "formula": a symbolic description of the model to be fitted.

- data
an optional data frame, list or environment (or object coercible by as.data.frame to a data frame) containing the variables in the model. If not found in data, the variables are taken from environment(formula), typically the environment from which PLN is called.

- subset
an optional vector specifying a subset of observations to be used in the fitting process.

- weights
an optional vector of observation weights to be used in the fitting process.

- control
a list-like structure for controlling the optimization, with default generated by

`PLN_param()`

. See the associated documentation for details.

an R6 object with class `PLNfit`

The class `PLNfit`

and the configuration function `PLN_param()`

```
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
myPLN <- PLN(Abundance ~ 1, data = trichoptera)
#>
#> Initialization...
#> Adjusting a full covariance PLN model with nlopt optimizer
#> Post-treatments...
#> DONE!
```