R/PLNnetworkfamily-S3methods.R
extract_probs.Rd
Extracts 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
} # }