
BiodiversityR versions

	This ChangeLog provides information on new functions integrated in
	the package and some required updates. Updates related to error
	messages for new versions of the base and loaded packages are
	typically not included here (as these were addressed).

	BiodiversityR details on installation are available from:
	http://www.worldagroforestry.org/output/tree-diversity-analysis

	The manual accompanying the original version of BiodiversityR is
	available from:
	http://www.worldagroforestry.org/downloads/Publications/PDFS/B13695.pdf


Version 2.8-4 (September 2017)

	* compatible with Rcmdr 2.4-0 (August 2017)


Version 2.8-3 (June 2017)

	* corrected error that prevented loading of the Graphical User Interface after previous
		workspace was saved

	* corrected error in function multiconstrained

	* option added of method="dbrda" in function multiconstrained


Version 2.8-2 (May 2017)

	* full integration of the MAXLIKE algorithm in ensemble suitability modelling

	* new argument of 'get.block' in ensemble.calibrate.weights and ensemble.batch. 
		The argument splits 4-fold cross-validation presence and background point 
		location data sets along longitudinaland latidudinal lines through function 
		get.block of the ENMeval package.

	* new argument of 'mmax' in the CAPdiscrim function. This argument limits the search for
		the optimal m (number of PCoA axes) to a a maximum number of axes equal to mmax.
		The argument was introduced to deal with the lda error of a variable appearing 
		to be constant within groups. 

	* function CAPdiscrim saves correct predictions per factor level

	* function ordisymbol now allows different palettes

	* errors corrected in the 'diversity indices' menu in saving results in the 
		environmental data set

	* function evaluation.strip.data includes suitability values prior to the probit
		transformation. Errors obtained for MAHAL, MAHAL01 and DOMAIN algorithms were
		corrected for the same function.


Version 2.8-1 (January 2017, malaria recovery version)

	* compatible with Rcmdr	2.3-1 (October 2016)

	* BiodiversityRGUI function gives information on backward compatibility with prior
		versions of BiodiversityR

	* new function ensemble.calibrate.models that replaces function ensemble.test.
		The original name of ensemble.test originated from the first (2012) versions of 
		ensemble suitability modelling functions in BiodiversityR where both 
		ensemble.raster and ensemble test internally calibrated and evaluated (tested)
		models, but only ensemble.raster went ahead with creating suitability raster 
		layers. For possible backwards compatibility, assign 
		ensemble.test <- ensemble.calibrate.models

	* new function ensemble.calibrate.weights that replaces function ensemble.test.splits

	* slot ensemble.calibrate.weights$AUC.table (ensemble.calibrate.weights) replaces 
		ensemble.calibrate.weights$table

	* argument SSB.reduce (ensemble.calibrate.models, ensemble.batch) replaces argument 
		CIRCLES.at

	* ensemble suitability layers are now create in different 'ensemble' subfolders
		subfolder 'suitability' contains suitability layers for each ensemble
		subfolder 'presence' contains presence layers for each ensemble
		subfolder 'count' contains number of algorithms predicting presence
		subfolder 'consensussuitability' contains consensus suitability layers
		subfolder 'consensuspresence' contains consensus presence layers
		subfolder 'consensuscount' contains count of ensembles predicting presence
		subfolder 'consenssd' contains consensus standard deviation

	* new function ensemble.VIF that selects subsets of explanatory data layers until all
		Variance Inflation Factors are below a user-defined threshold (default: 10).
		By an iterative procedure, the data layer with largest VIF is removed in each
		step. The function is called from within the ensemble.batch function.

	* new function ensemble.bioclim that provides an algorithm that more closely represents
		the original BIOCLIM algorithm than function dismo::bioclim

	* new function ensemble.bioclim.graph that graph function makes graphs that show mean, 
		median, minimum, maximum and lower and upper limits for species or climates

	* new function stackcommunitydataset that creates a data.frame with separate columns
		for sites, species and abundance values (therefore the inverse function of
		makecommunitydataset). Function is useful to combine information from 
		different community data sets into one community data set.

	* new option for including the glmnet algorithm in ensemble suitability modelling. 
		Option available via argument of GLMNET in ensemble.calibrate.models, 
		ensemble.batch, GUI interface and other functions.

	* new option for including the maxlike algorithm (Royle et al. 2012. Methods in Ecology
		and Evolution) in ensemble suitability modelling. However, because the maxlike
		function does not accept data frames for model calibration and the predict
		function does not have a newdata argument, inclusion of the algorithm is 
		problematic and may often not be available (as in evaluation.strip.data)
		or fail (Roeland will write a new email to the authors of maxlike indicating
		the need to expand maxlike to handle data frames).

	* new option for including a modification of the dismo::mahal algorithm to ensure
		that predictions are within the 0 to 1 range similar to probabilities. Option
		available via argument of MAHAL01 and MAHAL.shape in ensemble.calibrate.models, 
		ensemble.batch, GUI interface and other functions with 

	* new output of the ensemble.batch function to report which ensemble had the best
		overall AUC. (This option can be used to plot count models

	* new options for ensemble.threshold
		threshold.method == "threshold2013.mean" provides the mean threshold of
			optimal thresholds identified by Liu et al. 2013. Journal of 
			Biogeography 40: 778-789
		threshold.method == "threshold2013.min" provides the minimum threshold of
			optimal thresholds identified by Liu et al. 2013. Journal of 
			Biogeography 40: 778-789		
		threshold.method == "threshold2005.mean" provides the mean threshold of
			optimal thresholds identified by Liu et al. 2005. Ecography 28: 
			385-393
		threshold.method == "threshold2005.min" provides the minimum threshold of
			optimal thresholds identified by Liu et al. 2005. Ecography 28: 
			385-393		

	* change of handling of data extraction from raster stacks with only 1 layer

	* internal change of raster extent no longer possible with main ensemble functions.
		Hence rasterstack objects should be modified prior to using them in
		ensemble functions.

	* change of implementation in ensemble.calibrate.models whereby dummy variables
		are no longer excluded for BIOCLIM and BIOCLIM.O algorithms

	* change of implementatin in ensemble.calibrate.models whereby only dummy variables
		with no variation are excluded for the DOMAIN algorithm

	* new option for ensemble.drop1 to also fit models with only the focal variable.
		Option available via argument of variables.alone = TRUE.

	* new option for ensemble.novel.object to exclude factor variables. The documentation
		was updated to show dealing with factor variable through dummy variables.

	* new option for ensemble.dummy.variables to create dummy variables for levels not
		observed in the input factor layer

	* increased output of ensemble.calibrate.models and ensemble.calibrate.weights to
		show how ensemble weights are determined (input weights, parameters and
		output weights)

	* warning message in ensemble GUI that title of calibration stack is expected to be
		the same as object name of the calibration stack

	* ensemble suitability calibration modelling allows to set VIF.max (maximum Variance
		Inflaction Factors of explanatory variables) and CIRCLES.d (the distance in m
		of circular neighbourhoods for testing background locations to reduce spatial
		sorting bias).

	* added example of superimposing GBIF locations in ensemble.ecocrop documentation

	* GUI option of showing calibration stack also provides names of factor variables,
		names of dummy variables and makes a plot of the calibration stack

	* Diversity indices menu now also accepts two factor variables to create a 2-way
		table with diversity statistics for each combination of factor levels

	* Added links from the GUI help to vignettes on diversity analysis in vegan and 
		ordination analysis in vegan. Also added link to the community analysis
		website of Jari Oksanen from the GUI help.


Version 2.7-2 (August 2016)

	* compatible with Rcmdr	2.3-0 (August 2016) and vegan 2.4-0 (June 2016)

	* new function ensemble.threshold to calculate threshold values to differentiate
		between absence and presence suitabilities. This function was used earlier
		only internally in the ensemble.test, ensemble.test.splits and ensemble.batch
		functions, whereas it is now available and documented as separarte function.

	* corrected error in makecommunitydataset (error reported by Pascal Hirsch)

	* Graphical User Interface (GUI) now supports following functions or options from 
	vegan:

		o dispweight function (via Transform community matrix menu)
		o fitspecaccum function (via options of "arrhenius", "gleason", "gitay", 
			"lomolino", "asymp", "gompertz", "michaelis-menten", "logis" and 
			"weibull" in Species accumulation curves menu)
		o specslope function (via options in Species accumulation curves menu)
		o rareslope function (via options in Species accumulation curves menu)
		o rarefy function  (via options in Species accumulation curves menu)
		o tsallis function (via options in Renyi profile menu)
		o tsallisaccum function (via options in Renyi profile menu)	
		o dbrda function (via Constrained ordination menu)
		o monoMDS function (via Unconstrained ordination menu)
		o stressplot function (via unconstrained and constrained ordination menus)
		o betadisper function (via Compare distance matrices menu)
		o designdist function (in Distance matrix calculation menu)
		o Lingoes and Cailliez adjustments for wcmdscale, capscale, dbrda and 
			betadisper
		o sqrt.dist argument for wcmdscale, capscale, dbrda and betadisper
		o descriptive string of "species" in scaling of ordination axes (via
			unconstrained and constrained ordination menus)
		o RsquareAdj function for cca, dbrda and capscale (in summaries of constrained 
			ordination)
		o ordibar function (via plotting functions for unconstrained and constrained
			ordination)
		o plotting factor levels in different colours with ordihull, ordiarrows, 
			ordisegments, ordispider, ordibar and ordiellipse (via plotting 
			functions for unconstrained and contrained ordination)
		o summary and ordiareatest for ordihull and ordiellipse (via plotting 
			functions for unconstrained and contrained ordination)
		o ehull option of ordiellipse ((via plotting functions for unconstrained 
			and contrained ordination))

	* change in calculation for ensemble.threshold function when using thresholds from the
		PresenceAbsence package with ensemble.threshold options of "threshold.mean"
		and "threshold.min": five thresholds from the PresenceAbsence package will
		be used (see Details)

	* new parameter ENSEMBLE.weight.min to set minimum output weight for ensemble.test,
		ensemble.test.splits and ensemble.batch. Note that parameter ENSEMBLE.min
		refers to the minimum input weight (and typically used to exclude algorithms
		with low AUC values).

	* ensemble.plot allows to add country boundaries (via maptools package)

	* ensemble.plot exports breaks and colours if only one suitability map is plotted

	* breaks are forced to be unique in ensemble.plot

	* ensemble.analogue gives warning is variables are very strongly correlated with 
	method 'mahal' (as algorithm my fail)

	* corrected problem in ensemble.novel function when x only has one layer

	* avoid error when launching the GUI when dismo package was not installed

	* corrected error in labeling the y-axis in reyniplot function (error reported by
	Mauricio Carrasquilla)


Version 2.7-1 (April 2016)

	* ensemble.batch: procedure stops when no algorithms retained in the k-fold
	cross-validation procedure

	* new Graphical User Interface (GUI) for renaming layer names of calibration
	and prediction stacks

	* included link to Hijmans RJ and Elith J. 2016. Species distribution modelling with R.	

	* options to set width and height of new graphical device for ensemble.plot,
	evaluation.strip.plot and ensemble.centroids functions. Setting any of these parameters
	to a value < 0 results in no opening of a new device .


Version 2.7-0 (March 2016)

	* new Graphical User Interface (GUI) for ensemble suitability modelling.
	Guidelines for getting started are available from the GUI and in the 'doc'
	folder of BiodiversityR

	* included the ensemble.mean function within ensemble.batch, so that
	ensemble.batch also produces the mean ('_MEAN_') ensemble files when several
	ensembles are calibrated via ensemble.batch

	* new function ensemble.plot, especially to apply a colourscheme that
	differentiates between suitabilities below and above a threshold that
	discriminates between predicted absence-presence of the organism

	* new feature in the evaluation.strip.plot to include a boxplot for the 
	presence locations of a data set used for model calibrations

	* included help buttons in various GUI windows


Version 2.6-1 (January 2016)

	* ensemble.centroid and ensemble.zones: New functions to determine centroid 
	locations in principal components space of presence locations of an organism. 
	Mahalanobis distance from centroid locations to map zones based on the
	minimum distance from centroid locations.

	* report information on spatial sorting bias in ensemble.test.

	* CIRLES.at and CIRCLES.d options in ensemble.test function to reduce spatial 
	sorting bias between evaluation presence and absence locations

	* threshold.PresenceAbsence option in ensemble.test to use the PresenceAbsence
	package to calculate absence-presence thresholds.
	
	* ensemble.novel: New function to map novel environmental conditions.
	
	* ensemble.area: New function to calculate areas of suitability raster maps.

	* ensemble.analogue: New function to map environmental (climate) analogues.
	
	* ensemble.ecocrop: New function to map suitability based on temperature 
	and rainfall optimal and absolute ranges.

	* corrected problem in handling probit-transformations in ensemble.raster function

	* started ChangeLog


Version 2.5-4 (September 2015)

	* compatibility with Rcmdr restored (eg qqPlot)

	* menu interface scripts updated	

	* new menu option of Analysis of diversity > Add diversity variables to data set

	* new menu option of silhouette in the Cluster analysis plot options


Version 2.5-3 (July 2015)

	* changes in the CAPdiscrim function to result in same results as PRIMER (problem
	handled by including as.dist() function prior to cmdscale() function).

	* new function importancevalue to calculate Importance Value Index, and new
	ifri data set (collaboration with the International Forestry Resources and Institutions 
	[IFRI] research network; http://www.ifriresearch.net)  

	* new menu option of replacing NA with 0 in the community data set

	* corrected problem in ensemble.test.splits function in obtain AUC-derived
	weights for submodels when weights are not tuned

	* ensured that subfolder to save models is created (ensemble.test function)
	
	* included package information for function visibility


Version 2-5.2 (April 2015)

	* included droplevels() function in function ensemble.test

	* avoiding loading of libraries in ensemble functions (including gam::s()
	for gam formula)

	* included topography-derived variables in BCI.env data (provided by P. Legendre)


Version 2-5.1 (November 2014)

	* menu option to remove species with zero total abundance

	* handle new 8-character species codes in vegan in examples

	* include options to plot as.phylo() cluster dendrograms

	* option to reorder cluster dendrograms

	* option to plot symbols in cluster diagrams

	* BiodiversityR start up message

	* expand vegan functions from menu interface (vegemite, tabasco, coverscale,
	screeplot, bioenv, betadisper, contribdiv, beals, betadiverr, wcmscale, pcnm,
	polaccum, estaccumR, eventstar, indpower, isomap, meandist, nestedchecker,
	nestedtemp, nestednodf, nestedbetasor, nestedbetajac, RsquareAdj, drarefy,
	simper, treeheight)

	* corrected problems with jackknife of diversity analysis (diversityresult
	function with method='jackknife')


Version 2-4.4 (May 2014)

	* new PROBIT option in ensemble.test function to transform outputs of 
	ensemble submodels with probit transformation (also supported in 
	ensemble.raster function)	

	* new ENSEMBLE.exponent option to modify weights of ensemble submodels
	in ensemble model by using exponent

	* corrected use of persp() for accumulated renyi profiles in menu interface


Version 2-4.1 (January 2014)

	* new functions of ensemble.simplified.categories and ensemble.dummy.variables

	* new function of ensemble.evaluation.strip

	* only allow ensemble calibration in ensemble.test and ensemble.test.splits
	functions

	* include legends in menu-interface generated plots no longer via locator()

Older versions

	* mainly changes related to newer version of R base and loaded packages,
	including changes required to maintain compatility with R-commander


