
============================================
modEvA v3.9.3 (committed 2023-04-14) -> CRAN
============================================

## Modified functions:

* AUC
- 'method' default now NULL, to avoid unsolicited warning when curve="PR" because default method was "rank"


## Other modified files:

* varImp.Rd
- improved info on parameters for different plot types (e.g. cex.axis for lollipop, cex.names for barplot)


============================================
modEvA v3.9.2 (committed 2023-03-19)
============================================

## Modified functions:

* Boyce
- explicit warning instead of obscure error if 'obs' has no presences
- warning also when 'obs' has only presences (Boyce = NA)

* optiThresh
- explicit warning (and results NA) instead of obscure error if 'obs' has either no presences or no absences
- empty plot instead of error for incalculable metrics

* threshMeasures
- explicit warning instead of obscure error if 'obs' has either no presences or no absences


============================================
modEvA v3.9.1 (committed 2023-02-26)
============================================

## Modified functions:

* varImp
- error if family is not 'binomial', to avoid obscure error otherwise because no 'z-value' column in summary

* confusionMatrix, confusionLabel
- changed defaults 'interval = interval, quant = quant' to 'interval = 0.01, quant = 0'


## Other modified files:

* CITATION
- replaced old-style personList() with c(), and citEntry() with bibentry(), as per new CRAN requirements


============================================
modEvA v3.9 (committed 2023-01-12)  ->  CRAN
============================================

## Modified functions:

* varImp
- corrected point locations (accounting for space between bars) for barplot
- error.bars in lollipop chart re-plotted on top to improve visibility
- help file cites Weissgerber et al.

* predDensity
- 'ci' now plotted as semi-transparent rectangle (rather than just vertical ablines)
- added 'ci' example to help file


============================================
modEvA v3.8.9 (committed 2023-01-11)
============================================

## Modified functions:

* varImp
- implemented plot.points argument
- arguments 'ci' and 'ci.type' replaced by argument 'error.bars'
- 'error.bars' can also be a numeric for a x% confidence interval
- added 'grid' argument
- added "imp.type" argument (placeholder, so far only option "each")
- set 'border' to NA in legend and barplot
- fixed legend colour bug
- added check for loaded 'gbm' when needed

* predDensity
- added 'ci' argument
- added '...' for arguments to pass to 'hist'


============================================
modEvA v3.8.8 (committed 2023-01-05)
============================================

## New functions:

* RMSE

* lollipop


## Modified functions:

* varImp
- added "ylim" argument (default "auto"), and xpd=FALSE to 'barplot' call
- changed default positive colour for better contrast with CI lines in barplot
- new default plot.type = "lollipop"

* threshMeasures
- "OddsRatio" removed from default 'measures'
- 'ylim' argument removed (default 0,1 not needed after OddsRation removal; 'ylim' can still be used under '...')
- new argument 'plot.type'
- new default plot.type = "lollipop"

* RsqGLM
- new argument 'plot.type'
- new default plot.type = "lollipop"


============================================
modEvA v3.8.7 (committed 2022-12-22)
============================================

## New functions:

* varImp


## Modified functions:

* mod2obspred
- added supressMessages() when predicting with GBM


============================================
modEvA v3.8.6 (committed 2022-12-20)
============================================

## Modified functions:

* Dsquared
- 'family' is now guessed from data (with message) if null
- extended to models other than GLM


============================================
modEvA v3.8.5 (committed 2022-11-06)
============================================

## Modified functions:

* ptsrast2obspred
- added (or 'rm.dup.points=TRUE' for 'Boyce' function) to warning, otherwise Boyce would say "argument X matches multiple formal arguments"

* MilerCalib
- added final empty line


============================================
modEvA v3.8.4 (committed 2022-10-28) -> CRAN
============================================

## Modified functions:

* applyThreshold
- added "as.numeric" to 'sort(tresh)', otherwise it was character if one of the input 'thresh' criteria was character, which generated errors downstream


==========================================
modEvA v3.8.3 (committed 2022-10-27)
==========================================

## Modified functions:

* predPlot
- 'thresh' can now be set to NA or NULL
- legend is also changed accordingly

* optiThresh
- warning emitted if obs are all 0 or all 1 (which may originate errorr) - propagates to optiPair


## Other modified files:

* MillerCalib.Rd
- added explanations and examples on applicability to non-logit link models and non-probability predictions


==========================================
modEvA v3.82 (committed 2022-07-21)
==========================================

## Modified functions:

* varPart
- added argument 'cor.method'
- changed previous argument name 'method' to 'pred.type', to avoid confusion with the above


==========================================
modEvA v3.81 (committed 2022-07-20)
==========================================

## Modified functions:

* varPart
- argument 'model' now accepts glms of any family (but properly tested only for binomial!)


==========================================
modEvA v3.8 (committed 2022-07-20)
==========================================

## Modified functions:

* varPart
- new arguments 'model', 'groups', 'method', 'return.models'
- output table now doesn't say "pure" or "overlap", just the factor names separated by "_"
- argument 'coloured' changed to 'colr' to avoid English/American spelling issues


==========================================
modEvA v3.7 (committed 2022-07-10)
==========================================

## Modified functions:

* applyThreshold
- 'thresh' can now be of length 2, for high, intermediate and low predictions


## Other modified files:

* DESCRIPTION
- added reference about the method, as suggested by Uwe Ligges after previous CRAN submission


==========================================
modEvA v3.6 (committed 2022-06-14)
==========================================

## New functions:

* confusionMatrix


## Modified functions:

* confusionLabel
- added 'getThreshold' to include all 'thresh' options
- added 'interval' and 'quant' arguments for the above
- 'rm.dup' now defaults to FALSE to assume less

* threshMeasures
- moved part of the code to new 'confusionMatrix' function, which is now called from here


==========================================
modEvA v3.5 (committed 2022-05-16) -> CRAN
==========================================

## New functions:

* applyThreshold


## Modified functions:

* Boyce
- warning emitted and points coloured red for bins with less than 30 values

* standard01 (benefitting threshMeasures)
- added is.finite(score) to avoid error when NAs produced by kappa integer overflow

* getThreshold, inputMunch
- 'obs' can be null if only 'pred' is needed

* predPlot
- added call to 'getThreshold' to include more threshold options
- added 'cex' argument (default 0.5), plus 'interval' and 'quant' to pass to 'getThreshold'

* confusionLabel
- output is SpatRaster if input is too (as also implemented in 'applyThreshold')

* optiThresh
- fixed bug: Precision and Recall were missing from 'goodness.measures' and didn't get optimals


==========================================
modEvA v3.4 (committed 2022-05-06)
==========================================

## Modified functions:

* AUC, confusionLabel, Dsquared, getBins, HLfit, MillerCalib, optiPair, optiThresh, plotGLM, predDensity, predPlot, RsqGLM, threshMeasures
- added arguments 'rm.dup' and 'na.rm' to pass to 'inputMunch' and cascade to 'ptsrast2obspred'

* Boyce
- renamed arguments 'rm.dupl.classes' and 'rm.dupl.points' to 'rm.dup.classes' and 'rm.dup.points', for better coherence with 'rm.dup' in other functions
- added 'na.rm' argument


==========================================
modEvA v3.3 (committed 2022-05-03)
==========================================

## New functions:

* inputMunch
- converts from model or point & raster inputs to obs & pred vectors

* getThreshold
- computes threshold based on any of a range of published criteria


## Modified functions:

* prevalence
- added 'unlist' to avoid obscure error when input is one-column tibble instead of vector

* confusionLabel, Dsquared, getBins, HLfit, MillerCalib, optiPair, optiThresh, plotGLM, predDensity, predPlot, RsqGLM, threshMeasures
- 'obs' and 'pred' can also be presence coordinates and a SpatRaster, respectively

* confusionLabel, getBins
- added 'na.rm' argument

* threshMeasures 
- 'thresh' argument now calls new 'getThreshold' function to include more options

* ptsrast2obspred
- checks for duplicates and shows message if there are (if rm.dup = FALSE)
- 'rm.dup' now defaults to FALSE, to assume less and to match 'ecospat.boyce'

* Boyce
- 'rm.dupl.points' now defaults to FALSE, to assume less and to match 'ecospat.boyce'

* modEvAmethods
- added error message when 'fun' not correctly specified (instead of silent empty result)
- help file now provides all available values under 'fun' argument

* getModEqn
- 'round' replaced with 'signif' to avoid small coeffs becoming zeros (bug report by Jose Carlos Guerrero)

* MESS
- added 'verbosity' argument


==========================================
modEvA v3.2 (committed 2022-03-13)
==========================================

## Modified functions:

* AUC
- 'obs' and 'pred' can be presence coordinates and a SpatRaster, respectively

* Boyce
- added argument '...', e.g. for plot 'main' or 'xlim'
- argument name 'nclass' replaced with 'n.bins' to match other modEvA functions
- argument name 'window.w' replaced with 'bin.width' to accomodate other modEvA functions
- default 'nclass = 0' replaced with 'n.bins = NA', and all else accordingly
- changed default 'rm.dupl.classes' to FALSE after some checks (e.g. Galpyr RF in SDMB course)

* ptsrast2obspred
- added argument 'na.rm' and set to TRUE by default
- help file now uses 'elev' raster for more clarity


==========================================
modEvA v3.1 (committed 2022-02-22)
==========================================

## New functions:

- Boyce

- ptsrast2obspred


## Modified functions:

* AUC
- moved 'pred' range check to after NAs are removed to avoid error

* predPlot
- on exit, restores only 'par(mar)' (the only one changed) rather than all 'par'

* RsqGLM
- added las = 2 to 'barplot'


==========================================
modEvA v3.0 (committed 2021-12-20) -> CRAN
==========================================

## Modified functions:

* AUC
- warning if 'obs' contains only zeros or only ones (to explain result NaN and no curve on plot)
- if the previous occurs, other warnings suppressed (PR curve interpolated past NaN precision, method changed to 'trapezoid', etc.)

* MillerCalib
- plot text elevated by 0.05 y-axis units, to avoid it being cropped in small plots


## Other changes:

- uniformized description of arguments "model", "obs" and "pred" across functions' help files


==========================================
modEvA v2.8 (committed 2021-12-03)
==========================================

## Modified functions:

* optiPair
- message "'pred' must range between 0 and 1" changed from error to warning
- added argument 'na.rm' (default TRUE) to avoid NaNs in result MinDiff, MaxSum, etc.
- added argument 'exclude.zeros' (default TRUE) to avoid precision-recall "optimal" difference when both 0 or NaN


==========================================
modEvA v2.7 (committed 2021-11-26)
==========================================

## New functions:

* confusionLabel (to map the confusion matrix)

* mod2obspred (to extract 'obs' and 'pred' from model objects)


## Modified functions:

* prevalence
- message "'event' is not among of the values of 'obs'" changed from error to warning
- 'mod2obspred' now used for extracting 'obs' if 'model' is provided

* AUC, getBins, HLfit, MillerCalib, optiPair, optiThresh, predDensity, predPlot, threshMeasures
- 'model' can now be of class "glm", "gam", "gbm", "randomForest" or "bart"
- 'mod2obspred' now used for extracting 'obs' and 'pred' if 'model' is provided


==========================================
modEvA v2.6 (committed 2021-11-01)
==========================================

## Modified functions:

* predDensity
- added 'main' argument for plot title

* predPlot
- added 'pch' and 'col' arguments for the plot
- legend.pos is now "n" by default (legend was ugly and needed box to distinguish from actual plot points)

* RsqGLM
- added "plot" argument (default TRUE)
- added '...' for additional parameters for 'plot'

* plotGLM
- added 'plot=FALSE' to 'RsqGLM' (used if 'plot.values')

* optiThresh
- slightly changed plot margins so that bottom axis values are visible


## Other modified files:

* www/modEvA-tutorial.html
- updated with these recent options


==========================================
modEvA v2.5 (committed 2021-10-31)
==========================================

## Modified functions:

* AUC
- plot.preds=TRUE now plots filled circles with transparency
- plot.preds=TRUE now defaults to plotting circles on the curve (rather than both curve and bottom)
- size of circles if plot.preds=TRUE changed from 100*prop.preds to 20*sqrt(prop.preds)
- x coordinates of circles if plot.preds=TRUE changed from 'thresholds' to 'xx'
- if plot.values=TRUE, value is now plotted on the middle bottom for ROC and middle top for PR curve
- NaN precision values now coerced to the last non-NaN value (rather than 1), and warning emitted
- interpolated (NaN precision) part of the PR curve now plotted besides the curve with actual precision values


==========================================
modEvA v2.4 (committed 2021-10-30)
==========================================

## Modified functions:

* AUC
- fixed wrong PR area when last precision value(s) NaN, by coercing NaN precisions to 1 (thanks to bug report by Ying-Ju Tessa Chen)
- deactivated option method = "integrate", which was providing somewhat inaccurate values
- added / improved warning messages when 'method' changed to match chosen 'curve'
- added warning when method = "trapezoid" and interval >= 0.01, noting result is more accurate with smaller intervals

* threshMeasures
- added 'ylim' argument with default c(0, 1) to avoid error when no selected measure has finite values 


## Other modified files:

* inst/CITATION
- corrected publication year of 'New measures' paper under 'textVersion' of citation (thanks to bug report by Alba Estrada)


==========================================
modEvA v2.3 (committed 2021-09-30)
==========================================

## Modified functions:

* prevalence
- added 'model' argument, which can now be provided instead of 'obs'
- help file includes examples with 'model' and with character 'obs' 
- error message when 'obs' not a vector and when 'event' not in 'obs'
- warning when 'obs' ignored in favour of 'model'


==========================================
modEvA v2.2 (committed 2021-09-08)
==========================================

## Modified functions:

* MillerCalib
- slope value now plotted before (above) intercept (if plot.values = TRUE)

* varPart
- fixed right margin in 2-factor plot and added option for colouring the circles, following suggestions by Oswald van Ginkel

* MESS
- bug fix e-mailed by Huijie Qiao


==========================================
modEvA v2.1 (committed 2021-01-15)
==========================================

## New functions:

* predPlot


## Modified functions:

* predDensity
- like 'predPlot', 'legend.pos' now allows NA (for no legend) instead of throwing obscure error

* optiThresh
- added warning when any of 'measures' or 'optimize' not within implemented values


## Other modified files:

* MESS.Rd
- removed mention that we will implement ExDet for dataframes; added 'ecospat.climan' to 'See also'


## Other changes:

* minor corrections to some 'man' files


==========================================
modEvA v2.0 (committed 2020-01-21) -> CRAN
==========================================

## Modified functions:

* modEvA-internal
- removed .Random.seed

* multModEv, modEvAmethods, modEvA-internal
- added "MeanPrecision", "AUCPR" and "F1score"


## Other modified files:

* multModEv.Rd
- added "AUCPR" to one of the examples


==========================================
modEvA v2.0 (committed 2020-01-20)
==========================================

## Modified functions:

* AUC
- added 'meanPrecision' to returned list (if simplif = FALSE)
- "AUC[PR]" mentioned on plot when curve = "PR"

* optiThresh
- added "F1score" to goodness.measures in optimals.each
- added Liu et al. 2005 reference to threshold criteria

* threshMeasures, modEvAmethods
- added "Precision" and "Recall" (even though synonyms with "PPP" and "Sensitivity")

* optiPair
- changed pch of measure 1 to 19 (slightly larger than pch 20) so it's still visible when overlapped by measure 2

* multModEv
- added 'plot = FALSE' to internal AUC call


## Other modified files:

* threshMeasures.Rd, optiThresh.Rd, optiPair.Rd
- added "Note" saying sens=recall and PPP=precision, and defining F1score 


==========================================
modEvA v1.8 (committed 2020-01-17)
==========================================

## Modified functions:

* AUC
- removed artificial zeros (instead of NaN) when curve = "PR"
- reversed the reference diagonal if curve = "PR"
- value now placed higher on the plot if curve = "PR" to avoid superposition


## Other changes:

- added 'inst' folder with article citation information


==========================================
modEvA v1.7 (committed 2020-01-16)
==========================================

## Modified functions:

* AUC
- implemented methods "trapezoid" and "integrate"
- added area calculation for "PR" curve


* threshMeasures, evaluate, modEvAmethods, (optiThresh, optiPair)
- added "F1score" to available 'measures'


==========================================
modEvA v1.5 (committed 2020-01-15)
==========================================

## New functions:

* predDensity


## Modified functions:

* AUC
- new 'method' argument, which in the future can be "rank", "trapezoid" or "integrate" (currently only "rank" is implemented)
- new 'curve' argument which can be "ROC" or "PR" (precision-recall)
- arguments 'roc.col', 'roc.lty' and 'roc.lwd' renamed to 'curve.col', 'curve.lty' and 'curve.lwd'
- 'xlab' and 'ylab' now default to "auto", to be generated according to 'curve'
- removed 'main' argument (can be provided via '...')
- 'plot.preds' can now be either a logical value as before, or a character "curve" and/or "bottom"
- 'plot.preds' circles now plotted in darkgrey
- title in .Rd file changed to "Area Under the Curve" (removed "ROC")


## Other changes:

- corrected some problems in .Rd files, to reduce LaTeX errors when creating PDF version of manual.


==========================================
modEvA v1.4.2 (committed 2020-01-03)
==========================================

## Modified functions:

* plotGLM
- corrected to adj=1 when plotting values on the right of the plot


==========================================
modEvA v1.4.1 (committed 2019-10-18)
==========================================

## Modified functions:

* RsqGLM
- added NA handling for 'cor'


==========================================
modEvA v1.4 (committed 2018-11-28)
==========================================

## Modified functions:

* AUC
- added arguments diag, diag.col, diag.lty, roc.col, roc.lty, roc.lwd
- 'simplif = TRUE' no longer overrides 'plot = TRUE'

* MillerCalib
- added arguments diag, line.col


## Other modified files:

- edited .Rd files (AUC, HLfit, evaluate, optiPair, threshMeasures, modEvA-package) to reflect difference between discrimination and classification
- updated index.php


==========================================
modEvA v1.3.3 (committed 2017-03-24)
==========================================

## Modified functions:

* varPart:
- bug fixed (with na.omit) when only two factors (A, B, AB)


==========================================
modEvA v1.3.2 (committed 2016-07-12)
==========================================

## Modified functions:

* getBins (affecting HLfit):
- bug fixed in "bin.method = size.bins", which was giving two different messages regarding ignored arguments

* HLfit:
- help file slightly clarified


==========================================
modEvA v1.3.1 (committed 2016-06-27)
==========================================

## Modified functions:

* getBins (affecting HLfit):
- bug fixed in "bin.method = quantiles", now providing even-sized bins (=SPSS)
- added argument 'quantile.type', to pass to 'quantile' function

* HLfit:
- added argument 'quantile.type', to pass to 'quantile' function
- added argument 'verbosity'

* multModEv:
- removed default 'thresh' (must be user-specified)
- replaced argument 'quiet' with 'verbosity' for coherence with other functions

* threshMeasures:
- removed default 'thresh' (must be user-specified)
- replaced argument 'messages' with 'verbosity' for coherence with other functions


==========================================
modEvA v1.3 (committed 2016-06-16)
==========================================

## Modified functions:

* getBins (affecting HLfit):
- bug fixed in "bin.method = quantiles", removing last additional bin of size 1
- help file improved to better explain what each bin.method does and what arguments it ignores
- added argument 'verbosity'

* HLfit:
- added examples to help file to illustrate differences in bin.methods


==========================================
modEvA v1.2.9 (committed 2016-06-06)
==========================================

## Modified functions:

* getBins (affecting HLfit):
- bug fixed in "bin.method = n.bins, fixed.bin.size = TRUE"
- help file updated to explain what each bin.method does
- removed default bin.method (must be specified by user)

* multModEv:
- included '...' for additional arguments to pass to HLfit
- removed default bin.method (must be specified if HL in measures)

* modEvAmethods:
- excluded "Miller.p" (previously eliminated from MillerCalib)


==========================================
modEvA v1.2.8 (committed 2016-04-18)
==========================================

## Modified functions:

* varPart:
- 'plot.unexpl' now also rounded to 'plot.digits'
- 'model.type' deprecated (message emitted)
- AB or ABC now also mandatory, and unexplained var 0, for GLMs
- help file updated

* plotGLM:
- warning on preds outside [0,1] now only emitted when appropriate

* AUC, getBins, HLfit, MillerCalib, multModEv, optiPair, optiThresh, plotGLM, threshMeasures:
- error when model(s) provided but not binomial logit glm


==========================================
modEvA v1.2.7 (committed 2016-04-15)
==========================================

## Modified functions:

* varPart:
- added argument 'plot.unexpl = TRUE'
- explicit error message for 3-factor LM with no ABC
- help file now with both LM and GLM examples
- help file now notes that wrong input = wrong result


==========================================
modEvA v1.2.6 (committed 2016-04-13)
==========================================

## Modified functions:

* AUC:
- error replaced with warning when pred values outside the [0,1] interval
- added argument plot.digits = 3 (for plot.values)

* varPart:
- added arguments 'main' and 'cex.main'
- slightly increased default cex values
- updated help file to make GLM use a bit clearer

* plotGLM:
- error replaced with warning when pred values outside the [0,1] interval
- added pseudo-R-squared measures to plot.values
- changed plot.values default to TRUE
- added argument plot.digits = 3 (for plot.values)


==========================================
modEvA v1.2.5 (committed 2016-03-30)
==========================================

## Modified functions:

* getBins:
- eliminated error when pred values outside the [0,1] interval

* HLfit:
- error replaced with warning on pred values outside the [0,1] interval
- plot now stretches if pred values exceed [0,1] interval

* MillerCalib:
- error replaced with warning on pred values outside the [0,1] interval
- default digits (for plot.values) lowered to 2
- slope p-value removed (values looked wrong)
- NaNs avoided by converting 0 and 1 in 'pred' to (1 -) 2e-16
- increased plot ymax by 0.2
- changed plot text location to bottom right


==========================================
modEvA v1.2.4 (committed 2016-03-22)
==========================================

## Modified functions:

* multModEv:
- warning now emitted, and help file updated, about calibration measures being valid only for probability (when input is obs.data + pred.data)


==========================================
modEvA v1.2.3 (committed 2015-12-10)
==========================================

## Modified functions:

* prevalence:
- 'na.rm = TRUE' added


==========================================
modEvA v1.2.2 (committed 2015-11-27)
==========================================

## Modified functions:

* Dsquared, RsqGLM, plotGLM:
- NaN-caused errors avoided by converting 0 and 1 in 'pred' to (1 -) 2e-16


==========================================
modEvA v1.2.1 (committed 2015-11-26)
==========================================

## Modified functions:

* Dsquared, RsqGLM:
- NaN-caused errors avoided by converting 0 in 'pred' to smallest computable positive number


==========================================
modEvA v1.2
==========================================

## Modified functions:

* AUC, Dsquared, RsqGLM, threshMeasures, optiPair, HLfit & MillerCalib now omit NAs

* Dsquared based on obs&pred now available also for Poisson GLMs
