## ----message=FALSE, warning=FALSE--------------------------------------------- library(pfwim) library(dplyr) library(igraph) data("traits", package = "pfwim") data("feeding_rules", package = "pfwim") ## ----message=FALSE, warning=FALSE--------------------------------------------- metaweb_el <- infer_edgelist( data = traits, cat_combo_list = feeding_rules, col_taxon = "species", certainty_req = "all", hide_printout = TRUE ) ## ----message=FALSE, warning=FALSE--------------------------------------------- realised_webs <- powerlaw_prey( el = metaweb_el, n_samp = 5, y = 2.5 ) ## ----message=FALSE, warning=FALSE--------------------------------------------- length(realised_webs) ## ----------------------------------------------------------------------------- realised_webs[[1]] realised_webs[[2]] ## ----------------------------------------------------------------------------- library(dplyr) combined_edges <- dplyr::bind_rows( lapply(realised_webs, as.data.frame), .id = "web_id" ) head(combined_edges) ## ----------------------------------------------------------------------------- edge_frequency <- combined_edges %>% count(resource, consumer, name = "freq") edge_frequency ## ----------------------------------------------------------------------------- consensus_el <- edge_frequency %>% filter(freq >= 3) ## ----------------------------------------------------------------------------- library(igraph) consensus_graph <- graph_from_data_frame( consensus_el, directed = TRUE ) plot( consensus_graph, vertex.size = 35, vertex.label.cex = 0.7, edge.arrow.size = 0.3, main = "Consensus Realised Web" ) ## ----------------------------------------------------------------------------- weighted_graph <- graph_from_data_frame( edge_frequency, directed = TRUE ) plot( weighted_graph, vertex.size = 35, vertex.label.cex = 0.7, edge.width = E(weighted_graph)$freq, edge.arrow.size = 0.3, main = "Weighted Realised Web" )