Learn R Programming

Overview

econullnetr is a package of functions for analysing ecological networks (e.g. food webs, flower-visitation networks) using null model analysis. The observed network is compared to networks generated by a null model, which assumes that the frequency with which species (nodes in the network) interact with one another is simply a consequence of their relative abundance (i.e. how often they encounter one another). Differences in the structure of observed and simulated networks (e.g. in the interaction strengths between nodes) implies that other mechanisms are involved in structuring the network.

econullnetr has seven functions:

  1. generate_null_net() to run null models.
  2. test_interactions() for comparing observed and modelled interactions between species.
  3. plot_preferences() for comparing a consumer species’ observed and expected interactions with the resource species.
  4. bipartite_stats() for calculating a broad set of statistics for bipartite networks to compare observed and modelled networks. This draws on the functions from the bipartite package.
  5. plot_bipartite() which is a wrapper for the bipartite package’s plotweb() function, superimposing the null model results.
  6. generate_edgelist() to export the null modelling results in a standard format for use with other R packages.
  7. expand_matrix() to convert summarised interaction matrices (e.g. as used by the bipartite package) into a format suitable for generate_null_net.

The package also includes three examples, each comprising multiple data sets. See the package vignette and help files for full descriptions of the package’s functionality and data sets.

Usage

The following example runs a simple null model using one of the example data sets from econullnetr and displays an example of bipartite_stats() output and part of the output table for test_interactions() (shortened for brevity). Full examples covering all of the main functionality are described in the help files and package vignette.

library(econullnetr)
set.seed(1234)
sil.null <- generate_null_net(Silene[, 2:7], Silene.plants[, 2:6], sims = 10,
                             c.samples = Silene[, 1],
                             r.samples = Silene.plants[, 1], prog.count = FALSE)


# Network-level statistics
bipartite_stats(sil.null, index.type = "networklevel",
                indices = c("linkage density", "weighted connectance", 
                            "interaction evenness"), intereven = "sum", 
                prog.count = FALSE)
##                       Observed      Null  Lower.CL  Upper.CL  Test       SES
## linkage density      5.0960242 6.8303241 6.4566289 7.1999193 Lower -6.740767
## weighted connectance 0.1415562 0.1902469 0.1804936 0.1999978 Lower -7.412841
## interaction evenness 0.8489881 0.8991247 0.8765239 0.9104503 Lower -4.482613
# First 10 rows of the output table for inter-specific (inter-node) interactions.
#   When running this code, two warnings will normally be generated to highlight
#   that: i) a very small number of model iterations was used for this example 
#   and ii) there is a large number (155) of individual tests in the full 
#   test_interactions table, so the risk of Type I errors needs to be considered.


test_interactions(sil.null, 0.95)[1:10, ]
##           Consumer             Resource Observed Null Lower.95.CL Upper.95.CL     Test        SES
## 1          big.fly Achillea.millefolium        1  0.1           0       0.775 Stronger  2.8460499
## 2          big.fly   Hypericum.pulchrum        0  0.3           0       1.000       ns -0.6210590
## 3          big.fly       Papaver.rhoeas        0  0.0           0       0.000       ns         NA
## 4          big.fly     Senecio.jacobaea        0  0.6           0       1.000       ns -1.1618950
## 5          big.fly       Silene.gallica        0  0.0           0       0.000       ns         NA
## 6  Bombus.pratorum Achillea.millefolium        0  0.0           0       0.000       ns         NA
## 7  Bombus.pratorum   Hypericum.pulchrum        0  0.1           0       0.775       ns -0.3162278
## 8  Bombus.pratorum       Papaver.rhoeas        0  0.0           0       0.000       ns         NA
## 9  Bombus.pratorum     Senecio.jacobaea        1  0.8           0       1.000       ns  0.4743416
## 10 Bombus.pratorum       Silene.gallica        0  0.1           0       0.775       ns -0.3162278

Installation

The development version of econullnetr can be installed from GitHub:

# install.packages("devtools")
devtools::install_github("ivaughan/econullnetr")

Copy Link

Version

Install

install.packages('econullnetr')

Monthly Downloads

250

Version

0.2.1

License

MIT + file LICENSE

Maintainer

Ian Vaughan

Last Published

June 2nd, 2021

Functions in econullnetr (0.2.1)

plot_preferences

Plot the resource preferences of a consumer
WelshStreams.fl

'Forbidden' links to accompany the upland streams food web
WelshStreams

Part of the food web from upland streams in south Wales, UK
test_interactions

Compare observed interaction strengths in a network to those estimated from a null model
econullnetr

econullnetr: tools for using null models to analyse the structure of ecological networks and identify resource selection
bipartite_stats

Test for significant differences in a range of network metrics between the observed and null bipartite networks
generate_null_net

Null models for ecological networks
plot_bipartite

Plot a bipartite network, colour coding individual links according to whether they are stronger or weaker than expected under the null model
generate_edgelist

Export null modelling results
Silene.plants

Flower abundance data to accompany the Silene visitation network
Broadstone.prey

Macroinvertebrate abundance data to accompany the Broadstone data frame
Broadstone.nodes

Abundance and body mass data to accompany the Broadstone data set
Broadstone

Part of the highly-resolved food web from Broadstone Stream, UK
WelshStreams.order

WelshStreams.prey

Macroinvertebrate abundance to accompany part of the food web from upland streams in south Wales, UK
Silene

Flower visitation network from an arable field in the UK
Broadstone.fl

'Forbidden' links to accompany the Broadstone data set
expand_matrix

Expand a summarised interaction matrix