Our science team is currently working on several projects in Indonesia (Sumatra and East Kalimantan in Borneo) and India.
I am developing new methods for deriving biodiversity diversity from spectral data using complex nonlinear statistical relationships between measured biodiversity and soundscapes and spectra across multiple satellite sensors.
To address the importance of forest patches for tiger movement in Sumatra, I am developing new Graph Theoretical metrics that allow for the importance ranking of any given forest patch and facilitates "scenario analysis" that illustrates, via simulation, what happens to the landscape matrix quality if a given patch is eliminated or added. This not only allows us to make habitat recommendations on the current landscape but we can also look to the future and make habitat restoration recommendations that would enhance habitat quality and not just conserve what is currently there.
All R and Python libraries have been posted on GitHub. If you would like to view or suggest modifications to source code or report a bug at:
rfUtilities R library
New release of of "rfUtilities" 2.1-2 includes new functions for calculating Log Loss performance evaluation a function implementing an Isotonic regression for calibration of the estimated posterior probabilities of a model. There is also a new function for deriving parameter effect size based on partial dependency (Cafri & Bailey, 2016). The statistics Mean Absolute Error (mae) and Mean Bias Error (mbe) were added to the rf.crossValidation function.
Available functions in rfUtilities are:
accuracy - A function, called by the rf.crossValidation function or independently, that provides validation statistics for binomial or regression models
logLoss - Calculates Logarithmic loss (logLoss)
multi.collinear - Multi-collinearity test with matrix permutation.
occurrence.threshold - A statistical sensitivity test for occurrence probability thresholds
probability.calibration - Isotonic probability calibration
rf.class.sensitivity - Random Forests class-level sensitivity analysis
rf.classBalance - Random Forests Class Balance (Zero Inflation Correction) Model
rf.crossValidation - Random Forests classification or regression cross-validation
rf.effectSize - Random Forests parameter effect size
rf.imp.freq - Random Forests variable selection frequency
rf.modelSel - Random Forests Model Selection
rf.partial.ci - Random Forests regression partial dependency plot with confidence intervals
rf.partial.prob - Random Forest probability scaled partial dependency plots
rf.regression.fit - Evaluates fit and overfit of random forests regression models
rf.significance - Significance test for classification or regression random forests models
SpatialEco R library
spatialEco 0.1-5 is now available on CRAN.:
Available functions in spatialEco are:
breeding.density - Calculates n-th percent breeding density areas base on a kernel density estimate of population counts.
correlogram - Calculates and plots a correlogram (spatially lagged correlations, "pearson", "kendall" or "spearman")
concordance - Performs a concordance/disconcordance (C-statistic) test on binomial models.
conf.interval - Calculates confidence interval for the mean or median of a distribution with unknown population variance
csi - Calculates the cosine similarity and angular similarity on two vectors or a matrix
daymet.point - Downloads DAYMET climate variables for specified point and timeperiod
daymet.tiles - Returns a vector of DAYMET tile id's within a specified extent
dispersion - Calculates the dispersion ("rarity") of targets associated with planning units
download.daymet - Batch download of daily gridded DAYMET climate data
download.hansen - Download of Hansen Global Forest Change 2000-2013
download.prism - Batch download of monthly gridded PRISM climate data
effect.size - Cohen's-d effect size with pooled sd for a control and experimental group
gaussian.kernel - Creates a Gaussian Kernel of specified size and sigma
group.pdf - Creates a probability density plot of y for each group of x
hexagons - Create hexagon polygon “fishnet” of defined size and extent.
idw.smoothing - Distance weighted smoothing (IDW) of a variable in a spatial point object. The function is a smoothing interpolator at the point
observation(s) level using a distance-weighted mean.
insert.values - Inserts new values into a vector at specified positions
kl.divergence - Calculates the Kullback-Leibler divergence (relative entropy) between unweighted theoretical component distributions.
Divergence is calculated as: int [f(x) (log f(x) - log g(x)) dx] for distributions with densities f() and g().
land.metrics - Calculates a variety of landscape metrics, on binary rasters, for polygons or points with a buffer distance. This is similar to the moving
window in Fragstats but, uses either a buffer for each point or a zonal approach with polygons, to derive local metrics.
local.min.max - Calculates the local minimums and maximums in a numeric vector, indicating inflection points in the distribution.
loess.boot - Bootstrap of a Local Polynomial Regression (loess)
loess.ci - Calculates a local polynomial regression fit with associated confidence intervals
logistic.regression - Performs a logistic (binomial) and autologistic (spatially lagged binomial) regression using maximum likelihood estimation or
penalized maximum likelihood estimation.
moments - Calculate statistical moments of a distribution including percentiles, arithmetic-geometric-harmonic means, coefficient of variation, median
absolute deviation, skewness, kurtosis, mode and number of modes.
mwCorr - A bivariate raster correlation using Dutilleul's modified t-test
nni - Calculates the nearest neighbor index (NNI) as a measure of clustering or dispersal
o.ring - Calculates the inhomogeneous O-ring point pattern statistic (Wiegand & Maloney 2004)
optimal.k - Find optimal k of k-Medoid partitions using silhouette widths
outliers - Identify outliers using modified Z-score
parea.sample - Creates a systematic or random point sample of polygons where n is based on percent area of each polygon
plot.effect.size - Plot generic for effect size
plot.loess.boot - Plot generic for loess boot
point.in.poly - Intersects point and polygon feature classes and adds polygon attributes to the points
polyPerimeter - Calculates the perimeter length(s) for a polygon object
pp.subsample - Generates random subsample based on point process intensity function of the observed data. This is a spatially informed data thinning
model that can be used to reduce pseudo-replication or autocorrelation.
pseudo.absence - Generates pseudo-absence samples based on the spatial intensity function of known species locations. This is akin to
distance constrained but is informed by the spatial process of the observed data and is drawn from a probabilistic sample
following the intensity function.
raster.entropy - Calculates entropy on integer raster (i.e., 8 bit 0-255)
raster.vol - Calculates a percent volume on a raster or based on the entire raster or a systematic sample
rasterCorrelation - Performs a simple moving window correlation between two rasters
sample.annulus - Creates sample points based on annulus with defined inner and outer radius
sample.line - Creates a systematic or random point sample of an sp SpatialLinesDataFrame object based on distance spacing, fixed size or
sample.poly - Creates an equal sample of n for each polygon in an sp Polygon class object
sampleTransect - Creates random transects from points and generates sample points along each transect
separability - Calculates variety of univariate or multivariate separability metrics for nominal class samples
shannons - Calculates Shannon's Diversity Index and Shannon's Evenness Index
similarity - Uses row imputation to identify "k" ecological similar observations
sp.na.omit - Removes row or column NA's in sp object. The standard R na.omit function will not propagate through all slots of an sp class object. This
function removes the spatial objects, in all slots, corresponding to NA's in the @data data.frame object.
stratified.random - Creates a stratified random sample of an sp class object using a factor.
trend.line - Calculated specified (linear, exponential, logarithmic, polynomial) trend line of x,y and plots results.
tpi - Calculates topographic position using mean deviations within specified window
tri - Implementation of the Riley et al (1999) Terrain Ruggedness Index
trig.rtans - The trigonometric Stage (1978) slope * cos(aspect) or slope * sin(aspect)
vrm - Implementation of the Sappington et al., (2007) vector ruggedness measure
wt.centroid - Creates centroid of [x,y] coordinates, of a random field, based on a weights field in a point sample.
zonal.stats - Polygon "zonal" statistics of a raster. Function can accept custom “vectorized” function.
GeNetIt R library
Melanie Murphy and I released version 0.1-0 of the “GeNetIt” library implementing graph theoretical models in landscape genetic studies and general movement/connectivity ecology. The underlying method will is a singly constrained gravity model. There are also several utility functions for building spatial graphs and calculating node and edge statistics.
Available functions in GeNetIt are:
area.graph.statistics - Statistics for edges (lines) based on a defined scale (area).
build.node.data - Build node data
dmatrix.df - Distance matrix to data.frame
dps - dps genetic distance matrix for Columbia spotted frog (Rana luteiventris)
graph.statistics - Point sample and statistics for edges (lines)
gravity - Gravity model
knn.graph - Saturated or K Nearest Neighbor Graph
plot.gravity - Generic plot function for a gravity model object
predict.gravity - Predict gravity model
print.gravity - Print gravity model
ralu.model - Columbia spotted frog (Rana luteiventris) data for specifying gravity model. Note, the data.frame is already log transformed.
ralu.site - Subset of site-level spatial point data for Columbia spotted frog (Rana luteiventris)
rasters - Subset of raster data for Columbia spotted frog (Rana luteiventris)
summary.gravity - generic summary function for gravity model objects
Select Recent Publications
Ali, A.H., A.T. Ford, J.S. Evans, R. Amin, J.R. Gohen (2017) Resource selection and landscape change reveal mechanisms underlying range collapse for the world's
most endangered antelope. Journal of Applied Ecology. DOI: 10.1111/1365-2664.12856
Baruch-Mordo, S., J.S. Evans, J. Severson, J. D. Naugle, J. Kiesecker, J. Maestas, and M.J. Falkowski (2013) Saving sage-grouse from the trees: A proactive solution
to reducing a key threat to a candidate species Biological Conservation 167:233-241
Copeland, H.E., A. Pocewicz, D.E. Naugle, T. Griffiths, D. Keinath, J.S. Evans, J. Platt (2013) Measuring the effectiveness of conservation: a novel framework to
quantify the benefits of sage-grouse conservation policy and easements in Wyoming. PLoS One 8(6):e67261
Doherty K.E., J.S. Evans, J. Walker, J.H. Devries, D.W. Howerter (2015) Building the Foundation for International Conservation Planning for Breeding Ducks across
the U.S. and Canadian Border. PLoS ONE 10(2): e0116735. doi:10.1371/journal.pone.0116735
Doherty K.E., J.S. Evans, P.S. Coates, L.M Juliusson, B.C. Fedy (2016) Importance of regional variation in conservation planning: A range-wide example of the
Greater Sage-grouse. Ecosphere 7(10): e01462
Evans, J.S., S.R. Schill, G.T. Raber (2015) A Systematic Framework for Spatial Conservation Planning and Ecological Priority Design in St. Lucia, Eastern Caribbean.
Chapter 26 in Central American Biodiversity, F. Huettman (eds). Springer, NY.
Evans, J.S., J.M. Kiesecker (2014) Shale Gas, Wind and Water: Assessing the Potential Cumulative Impacts of Energy Development on
Ecosystem Services within the Marcellus Play. PLoS ONE 9(2): e89210. doi:10.1371/journal.pone.0089210
Falkowski, M.J., J.S. Evans, C. Hagen, S. Carleton, D.E. Naugle (2017) Mapping Woody Invasion in Support of Proactive Prairie Grouse Conservation in Western
North America. Journal of Range Ecology and Management 70(1):15-24
Gabrielsen, C.G., M.A. Murphy, J.S. Evans (2016) Using a multiscale, probabilistic approach to identify spatial-temporal wetland gradients. Remote
Sensing of the Environment 184:522–538
Griscom, B.W., P.W. Ellis, A. Baccini, D. Matrhinus, J.S. Evans, L. Hovani (2016) Synthesizing global datasets for jurisdictional forest carbon accounting in Berau,
Indonesia. PLoS One. DOI:10.1371/journal.pone.0146357
Kennedy, C.M., P.L. Hawthorne, D.A. Miteva, L. Baumgarten, K Sochi, M. Matsumoto, J.S. Evans, M. Viera, P. Ferreira, et al., (2016) Optimizing Land Use Decision-
making to Brazilian Agriculture Profits, Biodiversity and Ecosystem Services. Biological Conservation 204(B):221–230
Lipsey, M.K., K.E. Doherty, D.E. Naugle, S. Fields, J.S. Evans, S.K. Davis and N. Koper (2015) One step ahead of the plow: Using cropland conversion risk to guide
grassland songbird conservation. Biological Conservation. 191:739–749
Poznanovic, A.J., M.J. Falkowski, A.L. Maclean, and J.S. Evans (2014) An Accuracy Assessment of Tree Detection Algorithms in Juniper Woodlands.
Photogrammetric Engineering & Remote Sensing 80(5):627–637
Smith, J.T., J.S. Evans, S. Baruch-Mordo, J.M. Kiesecker, D.E. Naugle (2016) Reducing cultivation risk for at-risk species: Predicting outcomes of
conservation easements for sage-grouse. Biological Conservation 201:10-19.
Strager, M.P., J.M. Strager, A.E. Maxwell, J.S. Evans, J. Dunscomb, B. Kreps (2015) Combining a Spatial Model and Demand Forecasts to Map Future Surface Coal
Mining in Appalachia. PLoS ONE
In review, accepted or in press
Evans , J.S., J.M. Kiesecker, J. Fargione, K. Doherty, K. Foresman, D. Naugle, N. Nibbelink, N. Niemuth (in review) Relationships Between Species Occurrence and
Human-induced Disturbance. Nature
Fekety, P. A., M. J. Falkowski, A. T. Hudak, T. B. Jain, and J. S. Evans (accepted) Ecoregion-level imputation of forest biomass and composition using disjunct
LiDAR collections. Canadian Journal of Forest Research
MacKenzie D.L., & J.S. Evans (in prep) A Spatial-Temporal Bayesian model of Sage Grouse leking trends. Proceedings of the National Academy of Sciences.
Murphy, M.A., and J.S. Evans, (in review) GeNetIt: An R package for spatial graph theoretical genetic connectivity modeling. Methods in Ecology and Evolution.
Murphy, M.A., W.C. Funk, E. Muths, J.S.Evans (Submitted) A landscape genetics approach for science-based conservation planning along the Front Range,
Colorado. Conservation Genetics.