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

# S3 method for class '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.353689 
	sparsifying penalty = 6.792388 
	sparsifying penalty = 6.273931 
	sparsifying penalty = 5.795047 
	sparsifying penalty = 5.352716 
	sparsifying penalty = 4.944148 
	sparsifying penalty = 4.566765 
	sparsifying penalty = 4.218188 
	sparsifying penalty = 3.896217 
	sparsifying penalty = 3.598823 
	sparsifying penalty = 3.324127 
	sparsifying penalty = 3.0704 
	sparsifying penalty = 2.836039 
	sparsifying penalty = 2.619566 
	sparsifying penalty = 2.419617 
	sparsifying penalty = 2.23493 
	sparsifying penalty = 2.064339 
	sparsifying penalty = 1.90677 
	sparsifying penalty = 1.761228 
	sparsifying penalty = 1.626795 
	sparsifying penalty = 1.502623 
	sparsifying penalty = 1.387929 
	sparsifying penalty = 1.28199 
	sparsifying penalty = 1.184137 
	sparsifying penalty = 1.093752 
	sparsifying penalty = 1.010267 
	sparsifying penalty = 0.9331545 
	sparsifying penalty = 0.8619276 
	sparsifying penalty = 0.7961374 
	sparsifying penalty = 0.7353689 

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