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.264447 
	sparsifying penalty = 6.709958 
	sparsifying penalty = 6.197792 
	sparsifying penalty = 5.72472 
	sparsifying penalty = 5.287757 
	sparsifying penalty = 4.884147 
	sparsifying penalty = 4.511344 
	sparsifying penalty = 4.166997 
	sparsifying penalty = 3.848934 
	sparsifying penalty = 3.555148 
	sparsifying penalty = 3.283787 
	sparsifying penalty = 3.033138 
	sparsifying penalty = 2.801621 
	sparsifying penalty = 2.587776 
	sparsifying penalty = 2.390253 
	sparsifying penalty = 2.207807 
	sparsifying penalty = 2.039287 
	sparsifying penalty = 1.88363 
	sparsifying penalty = 1.739854 
	sparsifying penalty = 1.607053 
	sparsifying penalty = 1.484388 
	sparsifying penalty = 1.371086 
	sparsifying penalty = 1.266432 
	sparsifying penalty = 1.169766 
	sparsifying penalty = 1.080479 
	sparsifying penalty = 0.998007 
	sparsifying penalty = 0.9218299 
	sparsifying penalty = 0.8514675 
	sparsifying penalty = 0.7864757 
	sparsifying penalty = 0.7264447 

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