These are codes I used to generate IBI scores for REF-017 using the MBSStools package (Leppott 2020).
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")
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")
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
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.