summary
Table
The summary
function provides information on the performance of the Management Procedures with respect to the performance metrics. By default, summary
includes the PNOF
, P50
, AAVY
and LTY
performance metrics:
summary(MSE)
## Calculating Performance Metrics
## Performance.Metrics
## 1 Probability of not overfishing (F<FMSY)
## 2 Spawning Biomass relative to SBMSY
## 3 Average Annual Variability in Yield (Years 1-50)
## 4 Average Yield relative to Reference Yield (Years 41-50)
##
## 1 Prob. F < FMSY (Years 1 - 50)
## 2 Prob. SB > 0.5 SBMSY (Years 1 - 50)
## 3 Prob. AAVY < 20% (Years 1-50)
## 4 Prob. Yield > 0.5 Ref. Yield (Years 41-50)
##
##
## Performance Statistics:
## MP PNOF P50 AAVY LTY
## 1 curEref 0.22 0.38 0.33 0.53
## 2 FMSYref 0.50 0.89 0.33 1.00
## 3 FMSYref50 1.00 0.99 0.33 1.00
## 4 FMSYref75 0.89 0.97 0.33 1.00
## 5 NFref 1.00 0.99 0.33 0.00
It is straightforward to include other PM
functions by adding the names of the PM
functions, for example:
summary(MSE, 'P100', 'Yield')
## Calculating Performance Metrics
## Performance.Metrics
## 1 Spawning Biomass relative to SBMSY
## 2 Yield relative to Reference Yield (Years 1-50)
##
## 1 Prob. SB > SBMSY (Years 1 - 50)
## 2 Mean Relative Yield (Years 1-50)
##
##
## Performance Statistics:
## MP P100 Yield
## 1 curEref 0.13 8.4e-01
## 2 FMSYref 0.30 1.0e+00
## 3 FMSYref50 0.87 8.6e-01
## 4 FMSYref75 0.72 1.0e+00
## 5 NFref 0.95 4.8e-15
or all available PM
functions:
summary(MSE, avail('PM'))
## Searching for objects of class PM in package: MSEtool
## Searching for objects of class PM in package: SAMtool
## Searching for objects of class PM in package: DLMtool
## Calculating Performance Metrics
## Performance.Metrics
## 1 Average Annual Variability in Effort (Years 1-50)
## 2 Average Annual Variability in Yield (Years 1-50)
## 3 Average Yield relative to Reference Yield (Years 41-50)
## 4 Spawning Biomass relative to SBMSY
## 5 Spawning Biomass relative to SBMSY
## 6 Spawning Biomass relative to SBMSY
## 7 Probability of not overfishing (F<FMSY)
## 8 Average Yield relative to Reference Yield (Years 1-10)
## 9 Yield relative to Reference Yield (Years 1-50)
##
## 1 Prob. AAVE < 20% (Years 1-50)
## 2 Prob. AAVY < 20% (Years 1-50)
## 3 Prob. Yield > 0.5 Ref. Yield (Years 41-50)
## 4 Prob. SB > 0.1 SBMSY (Years 1 - 50)
## 5 Prob. SB > SBMSY (Years 1 - 50)
## 6 Prob. SB > 0.5 SBMSY (Years 1 - 50)
## 7 Prob. F < FMSY (Years 1 - 50)
## 8 Prob. Yield > 0.5 Ref. Yield (Years 1-10)
## 9 Mean Relative Yield (Years 1-50)
##
##
## Performance Statistics:
## MP AAVE AAVY LTY P10 P100 P50 PNOF STY Yield
## 1 curEref 1 0.33 0.53 0.95 0.13 0.38 0.22 0.93 8.4e-01
## 2 FMSYref 1 0.33 1.00 1.00 0.30 0.89 0.50 0.87 1.0e+00
## 3 FMSYref50 1 0.33 1.00 1.00 0.87 0.99 1.00 0.70 8.6e-01
## 4 FMSYref75 1 0.33 1.00 1.00 0.72 0.97 0.89 0.83 1.0e+00
## 5 NFref 1 0.33 0.00 1.00 0.95 0.99 1.00 0.00 4.8e-15
The summary
function returns a data frame which can be useful for referring to the PM results elsewhere in the analysis. For example,
Results <- summary(MSE, avail('PM'), silent=TRUE) # silent=TRUE to hide print-out to console
## Searching for objects of class PM in package: MSEtool
## Searching for objects of class PM in package: SAMtool
## Searching for objects of class PM in package: DLMtool
Results$Yield # access the PM results
## [1] 8.4e-01 1.0e+00 8.6e-01 1.0e+00 4.8e-15
Trade-Off Plots
The TradePlot
function takes an object of class MSE
and the names of PM
functions (at least 2) to produce a trade-off plot. For example:
TradePlot(MSE) # default plot
## MP STY LTY P10 AAVY Satisificed
## 1 curEref 0.93 0.53 0.95 0.33 FALSE
## 2 FMSYref 0.87 1.00 1.00 0.33 FALSE
## 3 FMSYref50 0.70 1.00 1.00 0.33 FALSE
## 4 FMSYref75 0.83 1.00 1.00 0.33 FALSE
## 5 NFref 0.00 0.00 1.00 0.33 FALSE
The order of the PM
function names determines plotting on the x and y axes. For example:
TradePlot(MSE, 'P50' ,'LTY') # x = P50, y = LTY
## MP P50 LTY Satisificed
## 1 curEref 0.38 0.53 TRUE
## 2 FMSYref 0.89 1.00 TRUE
## 3 FMSYref50 0.99 1.00 TRUE
## 4 FMSYref75 0.97 1.00 TRUE
## 5 NFref 0.99 0.00 FALSE
TradePlot(MSE, 'LTY' ,'P50') # x = LTY, y = P50
## MP LTY P50 Satisificed
## 1 curEref 0.53 0.38 TRUE
## 2 FMSYref 1.00 0.89 TRUE
## 3 FMSYref50 1.00 0.99 TRUE
## 4 FMSYref75 1.00 0.97 TRUE
## 5 NFref 0.00 0.99 FALSE
The PMs are recycled if an odd number are provided:
TradePlot(MSE, 'P50' ,'LTY', 'STY')
## Odd number of PMs. Recycling first PM
## MP P50 LTY STY Satisificed
## 1 curEref 0.38 0.53 0.93 TRUE
## 2 FMSYref 0.89 1.00 0.87 TRUE
## 3 FMSYref50 0.99 1.00 0.70 FALSE
## 4 FMSYref75 0.97 1.00 0.83 TRUE
## 5 NFref 0.99 0.00 0.00 FALSE
The Lims
argument is used to set the vertical and horizontal acceptable risk thresholds and are interpreted in the same order as the names of the PM
functions. For example:
TradePlot(MSE, 'P50' ,'LTY', Lims=c(0.8, 0)) # 80% minimum acceptable risk for P50, no minimum for LTY
## MP P50 LTY Satisificed
## 1 curEref 0.38 0.53 FALSE
## 2 FMSYref 0.89 1.00 TRUE
## 3 FMSYref50 0.99 1.00 TRUE
## 4 FMSYref75 0.97 1.00 TRUE
## 5 NFref 0.99 0.00 FALSE
TradePlot(MSE, 'P50' ,'STY', 'P100', 'LTY', Lims=c(0.8, 0, 0.5, 0)) # 80% minimum acceptable risk for P50, 50% for P100, no minimum for STY and LTY
## MP P50 STY P100 LTY Satisificed
## 1 curEref 0.38 0.93 0.13 0.53 FALSE
## 2 FMSYref 0.89 0.87 0.30 1.00 FALSE
## 3 FMSYref50 0.99 0.70 0.87 1.00 TRUE
## 4 FMSYref75 0.97 0.83 0.72 1.00 TRUE
## 5 NFref 0.99 0.00 0.95 0.00 FALSE
The TradePlot
function returns a data frame with the results of the performance metrics, and a column indicating if an MP has met minimum performance criteria for all performance metrics. In the previous example, 2 MPs (FMSYref50, FMSYref75) met the minimum performance criteria for all four performance metrics.
The TradePlot
function can be used to make a variety of custom trade-off plots. For example, the Tplot
, Tplot2
, and Tplot3
functions all use this function to produce different trade-off plots:
Tplot
## function(MSEobj, Lims=c(0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5), ...) {
## if (class(Lims)!="numeric") stop("Second argument must be numeric")
## TradePlot(MSEobj, Lims=Lims, PMlist=list("PNOF", "LTY", "P100", "LTY", "P50", "LTY", "P10", "LTY"), ...)
## }
## <bytecode: 0x000000001f828df0>
## <environment: namespace:MSEtool>
Tplot(MSE)
## MP PNOF LTY P100 P50 P10 Satisificed
## 1 curEref 0.22 0.53 0.13 0.38 0.95 FALSE
## 2 FMSYref 0.50 1.00 0.30 0.89 1.00 FALSE
## 3 FMSYref50 1.00 1.00 0.87 0.99 1.00 TRUE
## 4 FMSYref75 0.89 1.00 0.72 0.97 1.00 TRUE
## 5 NFref 1.00 0.00 0.95 0.99 1.00 FALSE
Similarly, we can easily reproduce NOAA_plot
using the Tradeplot
function:
NOAA_plot(MSE)
## PNOF B50 LTY VY
## curEref 22.0 38.0 33.3 33.3
## FMSYref 50.0 89.3 100.0 33.3
## FMSYref50 100.0 99.3 100.0 33.3
## FMSYref75 88.7 97.3 100.0 33.3
## NFref 100.0 99.3 0.0 33.3
TradePlot(MSE, Lims=c(0.5, 0, 0.8, 0.5),
PMlist=list("PNOF", "LTY", "P50", "AAVY"), Refs=list(AAVY=0.15))
## MP PNOF LTY P50 AAVY Satisificed
## 1 curEref 0.22 0.53 0.38 0.33 FALSE
## 2 FMSYref 0.50 1.00 0.89 0.33 FALSE
## 3 FMSYref50 1.00 1.00 0.99 0.33 FALSE
## 4 FMSYref75 0.89 1.00 0.97 0.33 FALSE
## 5 NFref 1.00 0.00 0.99 0.33 FALSE