The function `PLNLDA()`

produces an instance of an object with class `PLNLDAfit`

.

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

, the `plot()`

method for
LDA visualization and `predict()`

method for prediction

The function `PLNLDA`

.

`PLNmodels::PLNfit`

-> `PLNLDAfit`

`rank`

the dimension of the current model

`nb_param`

number of parameters in the current PLN model

`model_par`

a list with the matrices associated with the estimated parameters of the PLN model: B (covariates), Sigma (latent covariance), C (latent loadings), P (latent position) and Mu (group means)

`percent_var`

the percent of variance explained by each axis

`corr_map`

a matrix of correlations to plot the correlation circles

`scores`

a matrix of scores to plot the individual factor maps

`group_means`

a matrix of group mean vectors in the latent space.

`new()`

Initialize a `PLNLDAfit`

object

```
PLNLDAfit$new(
grouping,
responses,
covariates,
offsets,
weights,
formula,
control
)
```

`grouping`

a factor specifying the class of each observation used for discriminant analysis.

`responses`

the matrix of responses (called Y in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`covariates`

design matrix (called X in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`offsets`

offset matrix (called O in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`weights`

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

`formula`

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

`control`

list controlling the optimization and the model

`optimize()`

Compute group means and axis of the LDA (noted B in the model) in the latent space, update corresponding fields

`grouping`

a factor specifying the class of each observation used for discriminant analysis.

`responses`

the matrix of responses (called Y in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`covariates`

design matrix. Automatically built from the covariates and the formula from the call

`offsets`

offset matrix (called O in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`weights`

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

`config`

list controlling the optimization

`X`

Abundance matrix.

`postTreatment()`

Update R2, fisher and std_err fields and visualization

```
PLNLDAfit$postTreatment(
grouping,
responses,
covariates,
offsets,
config_post,
config_optim
)
```

`grouping`

a factor specifying the class of each observation used for discriminant analysis.

`responses`

the matrix of responses (called Y in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`covariates`

design matrix (called X in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`offsets`

offset matrix (called O in the model). Will usually be extracted from the corresponding field in PLNfamily-class

`config_post`

a list for controlling the post-treatments (optional bootstrap, jackknife, R2, etc.).

`config_optim`

list controlling the optimization parameters

`plot_individual_map()`

Plot the factorial map of the LDA

```
PLNLDAfit$plot_individual_map(
axes = 1:min(2, self$rank),
main = "Individual Factor Map",
plot = TRUE
)
```

`axes`

numeric, the axes to use for the plot when map = "individual" or "variable". Default it c(1,min(rank))

`main`

character. A title for the single plot (individual or variable factor map). If NULL (the default), an hopefully appropriate title will be used.

`plot`

logical. Should the plot be displayed or sent back as ggplot object

`plot_correlation_map()`

Plot the correlation circle of a specified axis for a `PLNLDAfit`

object

```
PLNLDAfit$plot_correlation_map(
axes = 1:min(2, self$rank),
main = "Variable Factor Map",
cols = "default",
plot = TRUE
)
```

`axes`

numeric, the axes to use for the plot when map = "individual" or "variable". Default it c(1,min(rank))

`main`

character. A title for the single plot (individual or variable factor map). If NULL (the default), an hopefully appropriate title will be used.

`cols`

a character, factor or numeric to define the color associated with the variables. By default, all variables receive the default color of the current palette.

`plot`

logical. Should the plot be displayed or sent back as ggplot object

`plot_LDA()`

Plot a summary of the `PLNLDAfit`

object

```
PLNLDAfit$plot_LDA(
nb_axes = min(3, self$rank),
var_cols = "default",
plot = TRUE
)
```

`nb_axes`

scalar: the number of axes to be considered when map = "both". The default is min(3,rank).

`var_cols`

a character, factor or numeric to define the color associated with the variables. By default, all variables receive the default color of the current palette.

`plot`

logical. Should the plot be displayed or sent back as ggplot object

`predict()`

Predict group of new samples

```
PLNLDAfit$predict(
newdata,
type = c("posterior", "response", "scores"),
scale = c("log", "prob"),
prior = NULL,
control = PLN_param(backend = "nlopt"),
envir = parent.frame()
)
```

`newdata`

A data frame in which to look for variables, offsets and counts with which to predict.

`type`

The type of prediction required. The default are posterior probabilities for each group (in either unnormalized log-scale or natural probabilities, see "scale" for details), "response" is the group with maximal posterior probability and "scores" is the average score along each separation axis in the latent space, with weights equal to the posterior probabilities.

`scale`

The scale used for the posterior probability. Either log-scale ("log", default) or natural probabilities summing up to 1 ("prob").

`prior`

User-specified prior group probabilities in the new data. If NULL (default), prior probabilities are computed from the learning set.

`control`

a list for controlling the optimization. See

`PLN()`

for details.`envir`

Environment in which the prediction is evaluated

```
if (FALSE) {
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
myPLNLDA <- PLNLDA(Abundance ~ 1, grouping = Group, data = trichoptera)
class(myPLNLDA)
print(myPLNLDA)
}
```