Skip to contents

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

Usage

# 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,
  edge.alpha = 0.2,
  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.

edge.alpha

opacity of the weakest edge, the strongest one being fully opaque, so that the strength of an edge can be read off a dense network. Default is 0.2. Set it to 1 for uniformly opaque edges. Only relevant for igraph output with type = "partial_cor".

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 = 0.5246191 
	sparsifying penalty = 0.4845754 
	sparsifying penalty = 0.4475881 
	sparsifying penalty = 0.4134241 
	sparsifying penalty = 0.3818678 
	sparsifying penalty = 0.3527202 
	sparsifying penalty = 0.3257973 
	sparsifying penalty = 0.3009295 
	sparsifying penalty = 0.2779598 
	sparsifying penalty = 0.2567434 
	sparsifying penalty = 0.2371464 
	sparsifying penalty = 0.2190452 
	sparsifying penalty = 0.2023257 
	sparsifying penalty = 0.1868823 
	sparsifying penalty = 0.1726178 
	sparsifying penalty = 0.159442 
	sparsifying penalty = 0.1472719 
	sparsifying penalty = 0.1360308 
	sparsifying penalty = 0.1256477 
	sparsifying penalty = 0.1160571 
	sparsifying penalty = 0.1071986 
	sparsifying penalty = 0.09901618 
	sparsifying penalty = 0.09145836 
	sparsifying penalty = 0.08447742 
	sparsifying penalty = 0.07802933 
	sparsifying penalty = 0.07207342 
	sparsifying penalty = 0.06657212 
	sparsifying penalty = 0.06149072 
	sparsifying penalty = 0.05679719 
	sparsifying penalty = 0.05246191 

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