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

PLNPCA(formula, data, subset, weights, ranks = 1:5, control = PLNPCA_param())



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


an optional data frame, list or environment (or object coercible by 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.


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


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


a vector of integer containing the successive ranks (or number of axes to be considered)


a list-like structure for controlling the optimization, with default generated by PLNPCA_param(). See the associated documentation. for details.


an R6 object with class PLNPCAfamily, which contains a collection of models with class PLNPCAfit

See also

The classes PLNPCAfamily and PLNPCAfit, and the configuration function PLNPCA_param().


#' ## Use future to dispatch the computations on 2 workers
if (FALSE) {
future::plan("multisession", workers = 2)

trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
myPCA <- PLNPCA(Abundance ~ 1 + offset(log(Offset)), data = trichoptera, ranks = 1:5)
#>  Initialization...
#>  Adjusting 5 PLN models for PCA analysis.
#> 	 Rank approximation = 1 
	 Rank approximation = 5 
	 Rank approximation = 2 
	 Rank approximation = 4 
	 Rank approximation = 3 

#>  Post-treatments
#>  DONE!

# Shut down parallel workers
if (FALSE) {