Introduction

These are codes I used to generate IBI scores for REF-017 using the MBSStools package (Leppott 2020).

Set up parameters

library("MBSStools")

# Metrics, Index, Benthic Macroinvertebrates, genus
# (generate values then scores)
myIndex <- "MBSS.2005.Bugs"
# Thresholds
thresh <- metrics_scoring
# get metric names for myIndex
(myMetrics.Bugs.MBSS <- as.character(droplevels(unique(thresh[thresh[,"Index.Name"]==myIndex,"MetricName.Other"]))))
##  [1] "ntaxa"      "nept"       "nephem"     "pintol_urb" "pephem"    
##  [6] "nscrape"    "pclimb"     "pchiron"    "pcling"     "ptany"     
## [11] "pscrape"    "pswim"      "pdipt"
# Add Narrative
myBreaks <- c(1:5)
myLabels <- c("Very Poor", "Poor", "Fair", "Good")

Load data

library(readxl)
ref017 <- read_excel("F:/One Drive - Towson U/Thesis stuff/Data/Benthic data/D-net (MBSS)/IBI scores from MBSS package/REF-017/R benthic data REF017.xlsx", 
    sheet = "Combine")

Calculate metrics and IBI scores

ref017_metric <- metric.values(ref017, "bugs",myMetrics.Bugs.MBSS)
ref017_metric #metric scores
## # A tibble: 11 x 30
## # Groups:   SITE, INDEX.NAME [11]
##    SITE  STRATA_R INDEX.NAME totind ntaxa  nept nephem totephem nscrape totclimb
##    <chr> <chr>    <chr>       <dbl> <int> <int>  <int>    <dbl>   <int>    <dbl>
##  1 REF1~ EPIEDMO~ MBSS.2005~    108    24    10      3       13       4        7
##  2 REF1~ EPIEDMO~ MBSS.2005~    131    29    14      5       17       5        9
##  3 REF1~ EPIEDMO~ MBSS.2005~    160    37    13      4       30       5       18
##  4 REF1~ EPIEDMO~ MBSS.2005~    138    33    12      4       27       6        2
##  5 REF1~ EPIEDMO~ MBSS.2005~    121    18    11      2       10       5        1
##  6 REF1~ EPIEDMO~ MBSS.2005~    123    31     9      3        5       5       22
##  7 REF1~ EPIEDMO~ MBSS.2005~    130    29     9      1        4       5       13
##  8 REF1~ EPIEDMO~ MBSS.2005~    128    34    15      5       15       8        6
##  9 REF1~ EPIEDMO~ MBSS.2005~    147    37    15      5       14       7       25
## 10 REF1~ EPIEDMO~ MBSS.2005~    124    41    11      3       11       7       14
## 11 REF1~ EPIEDMO~ MBSS.2005~    126    25    11      2        3       6        8
## # ... with 20 more variables: totchiron <dbl>, totcling <dbl>, tottany <dbl>,
## #   totscrape <dbl>, totswim <dbl>, totdipt <dbl>, totintol_urb <dbl>,
## #   pephem <dbl>, pclimb <dbl>, pchiron <dbl>, pcling <dbl>, ptany <dbl>,
## #   pscrape <dbl>, pswim <dbl>, pdipt <dbl>, pintol_urb <dbl>, ndipt <int>,
## #   nintol <int>, becks <dbl>, nintol_FAM <int>
# SCORE
ref017_metric_scores <- metric.scores(ref017_metric,myMetrics.Bugs.MBSS, "INDEX.NAME", "STRATA_R", thresh)
# View Results
ref017_metric_scores #IBI scores
##        SITE  STRATA_R     INDEX.NAME totind ntaxa nept nephem totephem nscrape
## 1  REF17.09 EPIEDMONT MBSS.2005.Bugs    108    24   10      3       13       4
## 2  REF17.10 EPIEDMONT MBSS.2005.Bugs    131    29   14      5       17       5
## 3  REF17.11 EPIEDMONT MBSS.2005.Bugs    160    37   13      4       30       5
## 4  REF17.12 EPIEDMONT MBSS.2005.Bugs    138    33   12      4       27       6
## 5  REF17.13 EPIEDMONT MBSS.2005.Bugs    121    18   11      2       10       5
## 6  REF17.14 EPIEDMONT MBSS.2005.Bugs    123    31    9      3        5       5
## 7  REF17.15 EPIEDMONT MBSS.2005.Bugs    130    29    9      1        4       5
## 8  REF17.16 EPIEDMONT MBSS.2005.Bugs    128    34   15      5       15       8
## 9  REF17.17 EPIEDMONT MBSS.2005.Bugs    147    37   15      5       14       7
## 10 REF17.18 EPIEDMONT MBSS.2005.Bugs    124    41   11      3       11       7
## 11 REF17.19 EPIEDMONT MBSS.2005.Bugs    126    25   11      2        3       6
##    totclimb totchiron totcling tottany totscrape totswim totdipt totintol_urb
## 1         7        33       76       0         4       4      41           48
## 2         9        20      120       0        12      14      24           75
## 3        18        39      122       0        25      17      48           51
## 4         2        39      100       0        16      19      49           54
## 5         1         0       86       0        12       4      46           24
## 6        22        45       94       0        12       3      52           25
## 7        13        58       86       0        14       0      65           24
## 8         6        37       99       0        18       6      44           35
## 9        25        52      119       0        18       4      57           40
## 10       14        61       77       0        21       3      66           27
## 11        8        26      113       0        21       1      33           47
##       pephem     pclimb  pchiron   pcling ptany   pscrape      pswim    pdipt
## 1  12.037037  6.4814815 30.55556 70.37037     0  3.703704  3.7037037 37.96296
## 2  12.977099  6.8702290 15.26718 91.60305     0  9.160305 10.6870229 18.32061
## 3  18.750000 11.2500000 24.37500 76.25000     0 15.625000 10.6250000 30.00000
## 4  19.565217  1.4492754 28.26087 72.46377     0 11.594203 13.7681159 35.50725
## 5   8.264463  0.8264463  0.00000 71.07438     0  9.917355  3.3057851 38.01653
## 6   4.065041 17.8861789 36.58537 76.42276     0  9.756098  2.4390244 42.27642
## 7   3.076923 10.0000000 44.61538 66.15385     0 10.769231  0.0000000 50.00000
## 8  11.718750  4.6875000 28.90625 77.34375     0 14.062500  4.6875000 34.37500
## 9   9.523810 17.0068027 35.37415 80.95238     0 12.244898  2.7210884 38.77551
## 10  8.870968 11.2903226 49.19355 62.09677     0 16.935484  2.4193548 53.22581
## 11  2.380952  6.3492063 20.63492 89.68254     0 16.666667  0.7936508 26.19048
##    pintol_urb ndipt nintol becks nintol_FAM     Index.Name Index.Region
## 1    44.44444     9     13    24          0 MBSS.2005.Bugs    EPIEDMONT
## 2    57.25191    10     15    27          0 MBSS.2005.Bugs    EPIEDMONT
## 3    31.87500    17      9    17          0 MBSS.2005.Bugs    EPIEDMONT
## 4    39.13043    16      9    18          0 MBSS.2005.Bugs    EPIEDMONT
## 5    19.83471     3      7    13          0 MBSS.2005.Bugs    EPIEDMONT
## 6    20.32520    14     11    22          0 MBSS.2005.Bugs    EPIEDMONT
## 7    18.46154    16      9    15          0 MBSS.2005.Bugs    EPIEDMONT
## 8    27.34375    14     13    26          0 MBSS.2005.Bugs    EPIEDMONT
## 9    27.21088    17     11    21          0 MBSS.2005.Bugs    EPIEDMONT
## 10   21.77419    23     10    18          0 MBSS.2005.Bugs    EPIEDMONT
## 11   37.30159    10      9    16          0 MBSS.2005.Bugs    EPIEDMONT
##    SC_ntaxa SC_nept SC_nephem SC_pintol_urb SC_pephem SC_nscrape SC_pclimb
## 1         3       3         3             3         0          0         0
## 2         5       5         5             5         0          0         0
## 3         5       5         5             3         0          0         0
## 4         5       5         5             3         0          0         0
## 5         3       5         3             3         0          0         0
## 6         5       3         3             3         0          0         0
## 7         5       3         1             3         0          0         0
## 8         5       5         5             3         0          0         0
## 9         5       5         5             3         0          0         0
## 10        5       5         3             3         0          0         0
## 11        5       5         3             3         0          0         0
##    SC_pchiron SC_pcling SC_ptany SC_pscrape SC_pswim SC_pdipt sum_IBI      IBI
## 1           3         3        0          0        0        0      18 3.000000
## 2           5         5        0          0        0        0      30 5.000000
## 3           3         5        0          0        0        0      26 4.333333
## 4           3         3        0          0        0        0      24 4.000000
## 5           5         3        0          0        0        0      22 3.666667
## 6           3         5        0          0        0        0      22 3.666667
## 7           3         3        0          0        0        0      18 3.000000
## 8           3         5        0          0        0        0      26 4.333333
## 9           3         5        0          0        0        0      26 4.333333
## 10          3         3        0          0        0        0      22 3.666667
## 11          5         5        0          0        0        0      26 4.333333
# Add Narrative
ref017_metric_scores$IBI_Nar <- cut(ref017_metric_scores$IBI
                                     , breaks=myBreaks
                                     , labels=myLabels
                                     , include.lowest=TRUE
                                     , right=FALSE
                                     , ordered_result=TRUE)
# QC, IBI Numeric vs. Narrative
table(ref017_metric_scores$IBI
      , ref017_metric_scores$IBI_Nar
      , useNA="ifany")
##                   
##                    Very Poor Poor Fair Good
##   3                        0    0    2    0
##   3.66666666666667         0    0    3    0
##   4                        0    0    0    1
##   4.33333333333333         0    0    0    4
##   5                        0    0    0    1
ref017_metric_scores
##        SITE  STRATA_R     INDEX.NAME totind ntaxa nept nephem totephem nscrape
## 1  REF17.09 EPIEDMONT MBSS.2005.Bugs    108    24   10      3       13       4
## 2  REF17.10 EPIEDMONT MBSS.2005.Bugs    131    29   14      5       17       5
## 3  REF17.11 EPIEDMONT MBSS.2005.Bugs    160    37   13      4       30       5
## 4  REF17.12 EPIEDMONT MBSS.2005.Bugs    138    33   12      4       27       6
## 5  REF17.13 EPIEDMONT MBSS.2005.Bugs    121    18   11      2       10       5
## 6  REF17.14 EPIEDMONT MBSS.2005.Bugs    123    31    9      3        5       5
## 7  REF17.15 EPIEDMONT MBSS.2005.Bugs    130    29    9      1        4       5
## 8  REF17.16 EPIEDMONT MBSS.2005.Bugs    128    34   15      5       15       8
## 9  REF17.17 EPIEDMONT MBSS.2005.Bugs    147    37   15      5       14       7
## 10 REF17.18 EPIEDMONT MBSS.2005.Bugs    124    41   11      3       11       7
## 11 REF17.19 EPIEDMONT MBSS.2005.Bugs    126    25   11      2        3       6
##    totclimb totchiron totcling tottany totscrape totswim totdipt totintol_urb
## 1         7        33       76       0         4       4      41           48
## 2         9        20      120       0        12      14      24           75
## 3        18        39      122       0        25      17      48           51
## 4         2        39      100       0        16      19      49           54
## 5         1         0       86       0        12       4      46           24
## 6        22        45       94       0        12       3      52           25
## 7        13        58       86       0        14       0      65           24
## 8         6        37       99       0        18       6      44           35
## 9        25        52      119       0        18       4      57           40
## 10       14        61       77       0        21       3      66           27
## 11        8        26      113       0        21       1      33           47
##       pephem     pclimb  pchiron   pcling ptany   pscrape      pswim    pdipt
## 1  12.037037  6.4814815 30.55556 70.37037     0  3.703704  3.7037037 37.96296
## 2  12.977099  6.8702290 15.26718 91.60305     0  9.160305 10.6870229 18.32061
## 3  18.750000 11.2500000 24.37500 76.25000     0 15.625000 10.6250000 30.00000
## 4  19.565217  1.4492754 28.26087 72.46377     0 11.594203 13.7681159 35.50725
## 5   8.264463  0.8264463  0.00000 71.07438     0  9.917355  3.3057851 38.01653
## 6   4.065041 17.8861789 36.58537 76.42276     0  9.756098  2.4390244 42.27642
## 7   3.076923 10.0000000 44.61538 66.15385     0 10.769231  0.0000000 50.00000
## 8  11.718750  4.6875000 28.90625 77.34375     0 14.062500  4.6875000 34.37500
## 9   9.523810 17.0068027 35.37415 80.95238     0 12.244898  2.7210884 38.77551
## 10  8.870968 11.2903226 49.19355 62.09677     0 16.935484  2.4193548 53.22581
## 11  2.380952  6.3492063 20.63492 89.68254     0 16.666667  0.7936508 26.19048
##    pintol_urb ndipt nintol becks nintol_FAM     Index.Name Index.Region
## 1    44.44444     9     13    24          0 MBSS.2005.Bugs    EPIEDMONT
## 2    57.25191    10     15    27          0 MBSS.2005.Bugs    EPIEDMONT
## 3    31.87500    17      9    17          0 MBSS.2005.Bugs    EPIEDMONT
## 4    39.13043    16      9    18          0 MBSS.2005.Bugs    EPIEDMONT
## 5    19.83471     3      7    13          0 MBSS.2005.Bugs    EPIEDMONT
## 6    20.32520    14     11    22          0 MBSS.2005.Bugs    EPIEDMONT
## 7    18.46154    16      9    15          0 MBSS.2005.Bugs    EPIEDMONT
## 8    27.34375    14     13    26          0 MBSS.2005.Bugs    EPIEDMONT
## 9    27.21088    17     11    21          0 MBSS.2005.Bugs    EPIEDMONT
## 10   21.77419    23     10    18          0 MBSS.2005.Bugs    EPIEDMONT
## 11   37.30159    10      9    16          0 MBSS.2005.Bugs    EPIEDMONT
##    SC_ntaxa SC_nept SC_nephem SC_pintol_urb SC_pephem SC_nscrape SC_pclimb
## 1         3       3         3             3         0          0         0
## 2         5       5         5             5         0          0         0
## 3         5       5         5             3         0          0         0
## 4         5       5         5             3         0          0         0
## 5         3       5         3             3         0          0         0
## 6         5       3         3             3         0          0         0
## 7         5       3         1             3         0          0         0
## 8         5       5         5             3         0          0         0
## 9         5       5         5             3         0          0         0
## 10        5       5         3             3         0          0         0
## 11        5       5         3             3         0          0         0
##    SC_pchiron SC_pcling SC_ptany SC_pscrape SC_pswim SC_pdipt sum_IBI      IBI
## 1           3         3        0          0        0        0      18 3.000000
## 2           5         5        0          0        0        0      30 5.000000
## 3           3         5        0          0        0        0      26 4.333333
## 4           3         3        0          0        0        0      24 4.000000
## 5           5         3        0          0        0        0      22 3.666667
## 6           3         5        0          0        0        0      22 3.666667
## 7           3         3        0          0        0        0      18 3.000000
## 8           3         5        0          0        0        0      26 4.333333
## 9           3         5        0          0        0        0      26 4.333333
## 10          3         3        0          0        0        0      22 3.666667
## 11          5         5        0          0        0        0      26 4.333333
##    IBI_Nar
## 1     Fair
## 2     Good
## 3     Good
## 4     Good
## 5     Fair
## 6     Fair
## 7     Fair
## 8     Good
## 9     Good
## 10    Fair
## 11    Good

Table of IBI scores with edited column names

library(dplyr)
library(DT)
ibi_table_select <- ref017_metric_scores %>% select(SITE,ntaxa,nept,nephem,pintol_urb,pchiron,pcling,IBI,IBI_Nar)
datatable(ibi_table_select,rownames = F,  options= list(scrollX = TRUE, pageLength = nrow(ibi_table_select), dom='t'), selection = 'none',  
          colnames = c('Site' = 'SITE', 'Number of taxa' = 'ntaxa',
                                               'Number of EPT taxa'='nept','Number of Ephemeroptera taxa'='nephem',
                                               'Percent intolerant urban taxa'='pintol_urb', 
                                               'Percent Chironomidae'='pchiron','Percent Clinger'='pcling'),
          caption = htmltools::tags$caption(
    style = 'caption-side: bottom; text-align: center;',
    'Table 1. Metric values and IBI scores from REF-017 in Red Run from 2009 to 2019')
  )

Note: Percent Chironomidae are incorrectly calculated in 2013 by the MBSStools package.