`R/PLNnetworkfit-class.R`

`PLNnetworkfit.Rd`

The function `PLNnetwork()`

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

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

and methods inherited from `PLNfit`

.

The function `PLNnetwork()`

, the class `PLNnetworkfamily`

`PLNmodels::PLNfit`

-> `PLNmodels::PLNfit_fixedcov`

-> `PLNnetworkfit`

`vcov_model`

character: the model used for the residual covariance

`penalty`

the global level of sparsity in the current model

`penalty_weights`

a matrix of weights controlling the amount of penalty element-wise.

`n_edges`

number of edges if the network (non null coefficient of the sparse precision matrix)

`nb_param`

number of parameters in the current PLN model

`pen_loglik`

variational lower bound of the l1-penalized loglikelihood

`EBIC`

variational lower bound of the EBIC

`density`

proportion of non-null edges in the network

`criteria`

a vector with loglik, penalized loglik, BIC, EBIC, ICL, R_squared, number of parameters, number of edges, and graph density

`new()`

Initialize a `PLNnetworkfit`

object

```
PLNnetworkfit$new(
penalty,
penalty_weights,
responses,
covariates,
offsets,
weights,
formula,
control
)
```

`penalty`

a positive real number controlling the level of sparsity of the underlying network.

`penalty_weights`

either a single or a list of p x p matrix of weights (default filled with 1) to adapt the amount of shrinkage to each pairs of node. Must be symmetric with positive values.

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

a list for controlling the optimization.

`update()`

Update fields of a `PLNnetworkfit`

object

```
PLNnetworkfit$update(
penalty = NA,
B = NA,
Sigma = NA,
Omega = NA,
M = NA,
S = NA,
Z = NA,
A = NA,
Ji = NA,
R2 = NA,
monitoring = NA
)
```

`penalty`

a positive real number controlling the level of sparsity of the underlying network.

`B`

matrix of regression matrix

`Sigma`

variance-covariance matrix of the latent variables

`Omega`

precision matrix of the latent variables. Inverse of Sigma.

`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

`optimize()`

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

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

`config`

a list for controlling the optimization

`latent_network()`

Extract interaction network in the latent space

`PLNnetworkfit$latent_network(type = c("partial_cor", "support", "precision"))`

`plot_network()`

plot the latent network.

`type`

edge value in the network. Either "precision" (coefficient of the precision matrix) or "partial_cor" (partial correlation between species).

`output`

Output type. Either

`igraph`

(for the network) or`corrplot`

(for the adjacency matrix)`edge.color`

Length 2 color vector. Color for positive/negative edges. Default is

`c("#F8766D", "#00BFC4")`

. Only relevant for igraph output.`remove.isolated`

if

`TRUE`

, isolated node are remove before plotting. Only relevant for igraph output.`node.labels`

vector of character. The labels of the nodes. The default will use the column names ot the response matrix.

`layout`

an optional igraph layout. Only relevant for igraph output.

`plot`

logical. Should the final network be displayed or only sent back to the user. Default is

`TRUE`

.

```
if (FALSE) {
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
nets <- PLNnetwork(Abundance ~ 1, data = trichoptera)
myPLNnet <- getBestModel(nets)
class(myPLNnet)
print(myPLNnet)
}
```