R/PLNnetworkfamily-S3methods.R
extract_probs.RdExtracts edge selection frequency in networks reconstructed from bootstrap subsamples during the stars stability selection procedure, as either a matrix or a named vector. In the latter case, edge names follow igraph naming convention.
an object with class PLNnetworkfamily, i.e. an output from PLNnetwork()
penalty used for the bootstrap subsamples
Integer index of the model to be returned. Only the first value is taken into account.
a character for the criterion used to performed the selection. Either
"BIC", "ICL", "EBIC", "StARS", "R_squared". Default is ICL for PLNPCA, and BIC for PLNnetwork.
If StARS (Stability Approach to Regularization Selection) is chosen and stability selection
was not yet performed, the function will call the method stability_selection() with default argument.
output format. Either a matrix (default) or a named vector.
tolerance for rounding error when comparing penalties.
Either a matrix or named vector of edge-wise probabilities. In the latter case, edge names follow igraph convention.
data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
nets <- PLNnetwork(Abundance ~ 1 + offset(log(Offset)), data = trichoptera)
#>
#> Initialization...
#> Adjusting 30 PLN with sparse inverse covariance estimation
#> Joint optimization alternating gradient descent and graphical-lasso
#> sparsifying penalty = 3.643028
sparsifying penalty = 3.364959
sparsifying penalty = 3.108114
sparsifying penalty = 2.870875
sparsifying penalty = 2.651743
sparsifying penalty = 2.449338
sparsifying penalty = 2.262382
sparsifying penalty = 2.089696
sparsifying penalty = 1.930192
sparsifying penalty = 1.782862
sparsifying penalty = 1.646778
sparsifying penalty = 1.52108
sparsifying penalty = 1.404978
sparsifying penalty = 1.297737
sparsifying penalty = 1.198682
sparsifying penalty = 1.107187
sparsifying penalty = 1.022677
sparsifying penalty = 0.9446167
sparsifying penalty = 0.8725149
sparsifying penalty = 0.8059166
sparsifying penalty = 0.7444017
sparsifying penalty = 0.6875821
sparsifying penalty = 0.6350996
sparsifying penalty = 0.586623
sparsifying penalty = 0.5418465
sparsifying penalty = 0.5004879
sparsifying penalty = 0.4622861
sparsifying penalty = 0.4270002
sparsifying penalty = 0.3944076
sparsifying penalty = 0.3643028
#> Post-treatments
#> DONE!
if (FALSE) { # \dontrun{
stability_selection(nets)
probs <- extract_probs(nets, crit = "StARS", format = "vector")
probs
} # }
if (FALSE) { # \dontrun{
## Add edge attributes to graph using igraph
net_stars <- getBestModel(nets, "StARS")
g <- plot(net_stars, type = "partial_cor", plot=F)
library(igraph)
E(g)$prob <- probs[as_ids(E(g))]
g
} # }