Fit the sparse inverse covariance variant of the Poisson lognormal with a variational algorithm. Use the (g)lm syntax for model specification (covariates, offsets).

```
PLNnetwork(
formula,
data,
subset,
weights,
penalties = NULL,
control = PLNnetwork_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 lm 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.

- penalties
an optional vector of positive real number controlling the level of sparsity of the underlying network. if NULL (the default), will be set internally. See

`PLNnetwork_param()`

for additional tuning of the penalty.- control
a list-like structure for controlling the optimization, with default generated by

`PLNnetwork_param()`

. See the corresponding documentation for details;

an R6 object with class `PLNnetworkfamily`

, which contains
a collection of models with class `PLNnetworkfit`

The classes `PLNnetworkfamily`

and `PLNnetworkfit`

, and the and the configuration function `PLNnetwork_param()`

.

```
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
fits <- PLNnetwork(Abundance ~ 1, data = trichoptera)
#>
#> Initialization...
#> Adjusting 30 PLN with sparse inverse covariance estimation
#> Joint optimization alternating gradient descent and graphical-lasso
#> sparsifying penalty = 7.264447
sparsifying penalty = 6.709958
sparsifying penalty = 6.197792
sparsifying penalty = 5.72472
sparsifying penalty = 5.287757
sparsifying penalty = 4.884147
sparsifying penalty = 4.511344
sparsifying penalty = 4.166997
sparsifying penalty = 3.848934
sparsifying penalty = 3.555148
sparsifying penalty = 3.283787
sparsifying penalty = 3.033138
sparsifying penalty = 2.801621
sparsifying penalty = 2.587776
sparsifying penalty = 2.390253
sparsifying penalty = 2.207807
sparsifying penalty = 2.039287
sparsifying penalty = 1.88363
sparsifying penalty = 1.739854
sparsifying penalty = 1.607053
sparsifying penalty = 1.484388
sparsifying penalty = 1.371086
sparsifying penalty = 1.266432
sparsifying penalty = 1.169766
sparsifying penalty = 1.080479
sparsifying penalty = 0.998007
sparsifying penalty = 0.9218299
sparsifying penalty = 0.8514675
sparsifying penalty = 0.7864757
sparsifying penalty = 0.7264447
#> Post-treatments
#> DONE!
```