# From adjacency matrix
mat <- matrix(c(0, 1, 1, 1, 0, 1, 1, 1, 0), nrow = 3)
net <- as_cograph(mat)
# Direct $ access to all data
net$from # edge sources
net$to # edge targets
net$weight # edge weights
net$nodes # nodes data frame
net$directed # TRUE/FALSE
net$n_nodes # 3
net$n_edges # 3
# Getter functions (recommended for programmatic use)
get_nodes(net) # nodes data frame
get_edges(net) # edges data frame (from, to, weight)
get_labels(net) # character vector of labels
n_nodes(net) # 3
n_edges(net) # 3
is_directed(net) # FALSE (symmetric matrix)
# Setter functions
net <- set_nodes(net, data.frame(id = 1:3, label = c("A", "B", "C")))
net <- set_edges(net, data.frame(from = c(1,2), to = c(2,3), weight = c(0.5, 0.8)))
net <- set_layout(net, data.frame(x = c(0, 1, 0.5), y = c(0, 0, 1)))
# Plot it
splot(net)
# From igraph (if installed)
if (requireNamespace("igraph", quietly = TRUE)) {
library(igraph)
g <- make_ring(10)
net <- as_cograph(g)
splot(net)
}
Run the code above in your browser using DataLab