Extract and plot the network (partial correlation, support or inverse covariance) from a PLNnetworkfit object

# S3 method for PLNnetworkfit
plot(
  x,
  type = c("partial_cor", "support"),
  output = c("igraph", "corrplot"),
  edge.color = c("#F8766D", "#00BFC4"),
  remove.isolated = FALSE,
  node.labels = NULL,
  layout = layout_in_circle,
  plot = TRUE,
  ...
)

Arguments

x

an R6 object with class PLNnetworkfit

type

character. Value of the weight of the edges in the network, either "partial_cor" (partial correlation) or "support" (binary). Default is "partial_cor".

output

the type of output used: either 'igraph' or 'corrplot'. Default is 'igraph'.

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.

...

Not used (S3 compatibility).

Value

Send back an invisible object (igraph or Matrix, depending on the output chosen) and optionally displays a graph (via igraph or corrplot for large ones)

Examples

data(trichoptera)
trichoptera <- prepare_data(trichoptera$Abundance, trichoptera$Covariate)
fits <- PLNnetwork(Abundance ~ 1, data = trichoptera)
#> 
#>  Initialization...
#>  Adjusting 30 PLN with sparse inverse covariance estimation
#> 	Joint optimization alternating gradient descent and graphical-lasso
#> 	sparsifying penalty = 7.541317 
	sparsifying penalty = 6.965695 
	sparsifying penalty = 6.43401 
	sparsifying penalty = 5.942907 
	sparsifying penalty = 5.48929 
	sparsifying penalty = 5.070297 
	sparsifying penalty = 4.683286 
	sparsifying penalty = 4.325815 
	sparsifying penalty = 3.995629 
	sparsifying penalty = 3.690646 
	sparsifying penalty = 3.408942 
	sparsifying penalty = 3.148741 
	sparsifying penalty = 2.9084 
	sparsifying penalty = 2.686404 
	sparsifying penalty = 2.481353 
	sparsifying penalty = 2.291954 
	sparsifying penalty = 2.117011 
	sparsifying penalty = 1.955421 
	sparsifying penalty = 1.806166 
	sparsifying penalty = 1.668303 
	sparsifying penalty = 1.540962 
	sparsifying penalty = 1.423342 
	sparsifying penalty = 1.3147 
	sparsifying penalty = 1.21435 
	sparsifying penalty = 1.121659 
	sparsifying penalty = 1.036044 
	sparsifying penalty = 0.9569638 
	sparsifying penalty = 0.8839195 
	sparsifying penalty = 0.8164507 
	sparsifying penalty = 0.7541317 

#>  Post-treatments
#>  DONE!
myNet <- getBestModel(fits)
if (FALSE) {
plot(myNet)
}