#' Make adjacency matrix from network
#' @description Plot the competitive network
#' @name adjacency_make
#' @param network igraph object generated by `network_make()`
#' @param isolate_rank ranking of isolates for ordering
#' @return ...
# Function for plotting heatwork for a community with given size
adjacency_make <- function(
network,
isolate_rank # ranking or order of isolates
) {
net <- network
# Transform network into adjacency matrix
node_number <- length(V(net))
edges_net <- get.edgelist(net)
m <- matrix(NA, node_number, node_number)
edges_m <- matrix(NA, nrow(edges_net), 2)
edges_m[, 1] <- match(edges_net[, 1], V(net)$name)
edges_m[, 2] <- match(edges_net[, 2], V(net)$name)
for (i in 1:nrow(edges_m)) m[edges_m[i, 1], edges_m[i, 2]] <- E(net)$interaction[i]
# Re-order the matrix by ranking
order_m <- match(isolate_rank, V(net)$name)
m <- m[order_m, order_m]
# Values in the matrix
diag(m) <- "self"
m[which(m == "exclusion")] <- "win"
m[which(is.na(m))] <- "loss"
m[which(m == "coexistence")] <- "draw"
return(m)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.