The function `PLNPCA()`

produces an instance of this class.

This class comes with a set of methods, some of them being useful for the user:
See the documentation for `getBestModel()`

,
`getModel()`

and `plot()`

.

The function `PLNPCA()`

, the class `PLNPCAfit()`

`PLNmodels::PLNfamily`

-> `PLNPCAfamily`

`ranks`

the dimensions of the successively fitted models

`new()`

Initialize all models in the collection.

```
PLNPCAfamily$new(
ranks,
responses,
covariates,
offsets,
weights,
formula,
control
)
```

`ranks`

the dimensions of the successively fitted models

`responses`

the matrix of responses common to every models

`covariates`

the matrix of covariates common to every models

`offsets`

the matrix of offsets common to every models

`weights`

the vector of observation weights

`formula`

model formula used for fitting, extracted from the formula in the upper-level call

`control`

list controlling the optimization and the model

`optimize()`

Call to the C++ optimizer on all models of the collection

`getModel()`

Extract model from collection and add "PCA" class for compatibility with `factoextra::fviz()`

`var`

value of the parameter (rank for PLNPCA, sparsity for PLNnetwork) that identifies the model to be extracted from the collection. If no exact match is found, the model with closest parameter value is returned with a warning.

`index`

Integer index of the model to be returned. Only the first value is taken into account.

a `PLNPCAfit`

object

`getBestModel()`

Extract best model in the collection

`PLNPCAfamily$getBestModel(crit = c("ICL", "BIC"))`

`crit`

a character for the criterion used to performed the selection. Either "ICL", "BIC". Default is

`ICL`

a `PLNPCAfit`

object

`plot()`

Lineplot of selected criteria for all models in the collection

`PLNPCAfamily$plot(criteria = c("loglik", "BIC", "ICL"), reverse = FALSE)`

`criteria`

A valid model selection criteria for the collection of models. Any of "loglik", "BIC" or "ICL" (all).

`reverse`

A logical indicating whether to plot the value of the criteria in the "natural" direction (loglik - penalty) or in the "reverse" direction (-2 loglik + penalty). Default to FALSE, i.e use the natural direction, on the same scale as the log-likelihood.

```
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
myPCAs <- PLNPCA(Abundance ~ 1 + offset(log(Offset)), data = trichoptera, ranks = 1:5)
#>
#> Initialization...
#>
#> Adjusting 5 PLN models for PCA analysis.
#> Rank approximation = 5
Rank approximation = 2
Rank approximation = 3
Rank approximation = 1
Rank approximation = 4
#> Post-treatments
#> DONE!
class(myPCAs)
#> [1] "PLNPCAfamily" "PLNfamily" "R6"
```