PLNPCAfit | R Documentation |

The function `PLNPCA()`

produces a collection of models which are instances of object with class `PLNPCAfit`

.
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`

and the `plot()`

methods for PCA visualization

`PLNmodels::PLNfit`

-> `PLNPCAfit`

`rank`

the dimension of the current model

`vcov_model`

character: the model used for the residual covariance

`nb_param`

number of parameters in the current PLN model

`entropy`

entropy of the variational distribution

`latent_pos`

a matrix: values of the latent position vector (Z) without covariates effects or offset

`model_par`

a list with the matrices associated with the estimated parameters of the pPCA model: B (covariates), Sigma (covariance), Omega (precision) and C (loadings)

`percent_var`

the percent of variance explained by each axis

`corr_circle`

a matrix of correlations to plot the correlation circles

`scores`

a matrix of scores to plot the individual factor maps (a.k.a. principal components)

`rotation`

a matrix of rotation of the latent space

`eig`

description of the eigenvalues, similar to percent_var but for use with external methods

`var`

a list of data frames with PCA results for the variables:

`coord`

(coordinates of the variables),`cor`

(correlation between variables and dimensions),`cos2`

(Cosine of the variables) and`contrib`

(contributions of the variable to the axes)`ind`

a list of data frames with PCA results for the individuals:

`coord`

(coordinates of the individuals),`cos2`

(Cosine of the individuals),`contrib`

(contributions of individuals to an axis inertia) and`dist`

(distance of individuals to the origin).`call`

Hacky binding for compatibility with factoextra functions

`new()`

Initialize a `PLNPCAfit`

object

PLNPCAfit$new(rank, responses, covariates, offsets, weights, formula, control)

`rank`

rank of the PCA (or equivalently, dimension of the latent space)

`responses`

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

`PLNfamily`

`covariates`

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

`PLNfamily`

`offsets`

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

`PLNfamily`

`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`

a list for controlling the optimization. See details.

`update()`

Update a `PLNPCAfit`

object

PLNPCAfit$update( B = NA, Sigma = NA, Omega = NA, C = NA, M = NA, S = NA, Z = NA, A = NA, Ji = NA, R2 = NA, monitoring = NA )

`B`

matrix of regression matrix

`Sigma`

variance-covariance matrix of the latent variables

`Omega`

precision matrix of the latent variables. Inverse of Sigma.

`C`

matrix of PCA loadings (in the latent space)

`M`

matrix of mean vectors for the variational approximation

`S`

matrix of variance vectors for the variational approximation

`Z`

matrix of latent vectors (includes covariates and offset effects)

`A`

matrix of fitted values

`Ji`

vector of variational lower bounds of the log-likelihoods (one value per sample)

`R2`

approximate R^2 goodness-of-fit criterion

`monitoring`

a list with optimization monitoring quantities

Update the current `PLNPCAfit`

object

`optimize()`

Call to the C++ optimizer and update of the relevant fields

PLNPCAfit$optimize(responses, covariates, offsets, weights, config)

`responses`

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

`PLNfamily`

`covariates`

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

`PLNfamily`

`offsets`

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

`PLNfamily`

`weights`

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

`config`

part of the

`control`

argument which configures the optimizer

`optimize_vestep()`

Result of one call to the VE step of the optimization procedure: optimal variational parameters (M, S) and corresponding log likelihood values for fixed model parameters (C, B). Intended to position new data in the latent space for further use with PCA.

PLNPCAfit$optimize_vestep( covariates, offsets, responses, weights = rep(1, self$n), control = PLNPCA_param(backend = "nlopt") )

`covariates`

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

`PLNfamily`

`offsets`

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

`PLNfamily`

`responses`

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

`PLNfamily`

`weights`

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

`control`

a list for controlling the optimization. See details.

A list with three components:

the matrix

`M`

of variational means,the matrix

`S2`

of variational variancesthe vector

`log.lik`

of (variational) log-likelihood of each new observation

`project()`

Project new samples into the PCA space using one VE step

PLNPCAfit$project(newdata, control = PLNPCA_param(), envir = parent.frame())

`newdata`

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

`control`

a list for controlling the optimization. See

`PLN()`

for details.`envir`

Environment in which the projection is evaluated

the named matrix of scores for the newdata, expressed in the same coordinate system as

`self$scores`

`setVisualization()`

Compute PCA scores in the latent space and update corresponding fields.

PLNPCAfit$setVisualization(scale.unit = FALSE)

`scale.unit`

Logical. Should PCA scores be rescaled to have unit variance

`postTreatment()`

Update R2, fisher, std_err fields and set up visualization

PLNPCAfit$postTreatment( responses, covariates, offsets, weights, config_post, config_optim, nullModel )

`responses`

`PLNfamily`

`covariates`

`PLNfamily`

`offsets`

`PLNfamily`

`weights`

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

`config_post`

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

`config_optim`

a list for controlling the optimizer (either "nlopt" or "torch" backend). See details

`nullModel`

null model used for approximate R2 computations. Defaults to a GLM model with same design matrix but not latent variable.

The list of parameters `config_post`

controls the post-treatment processing, with the following entries:

jackknife boolean indicating whether jackknife should be performed to evaluate bias and variance of the model parameters. Default is FALSE.

bootstrap integer indicating the number of bootstrap resamples generated to evaluate the variance of the model parameters. Default is 0 (inactivated).

variational_var boolean indicating whether variational Fisher information matrix should be computed to estimate the variance of the model parameters (highly underestimated). Default is FALSE.

rsquared boolean indicating whether approximation of R2 based on deviance should be computed. Default is TRUE

trace integer for verbosity. should be > 1 to see output in post-treatments

`plot_individual_map()`

Plot the factorial map of the PCA

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

`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

`cols`

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

a `ggplot`

graphic

`plot_correlation_circle()`

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

object

PLNPCAfit$plot_correlation_circle( 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

a `ggplot`

graphic

`plot_PCA()`

Plot a summary of the `PLNPCAfit`

object

PLNPCAfit$plot_PCA( nb_axes = min(3, self$rank), ind_cols = "ind_cols", var_cols = "var_cols", plot = TRUE )

`nb_axes`

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

`ind_cols`

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

`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

a `grob`

object

`show()`

User friendly print method

PLNPCAfit$show()

`clone()`

The objects of this class are cloneable with this method.

PLNPCAfit$clone(deep = FALSE)

`deep`

Whether to make a deep clone.

The function `PLNPCA`

, the class `PLNPCAfamily`

```
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
myPCAs <- PLNPCA(Abundance ~ 1 + offset(log(Offset)), data = trichoptera, ranks = 1:5)
myPCA <- getBestModel(myPCAs)
class(myPCA)
print(myPCA)
```

Embedding an R snippet on your website

Add the following code to your website.

For more information on customizing the embed code, read Embedding Snippets.