I currently work as a research scientist at the Max Planck Institute for Demographic Research (MPIDR). My primary interests at the MPIDR are explaining and describing demographic patterns across the "tree of life". However, my research interests are varied and range from climate change, macroevolution and macroecology, to senescence and population dynamics.
In addition, I was recently working with Dr Jinliang Wang at the Institute of Zoology (London) on population genetics.
My first post-doc was on the LITS project, a database of UK-based long-term individual-based time series data sets.
Representative publications
Colchero, F, Jones, OR & Rebke, M (2012) BaSTA: an R package for Bayesian estimation of age-specific survival from incomplete mark-recapture/recovery data with covariates. Methods in Ecology and EvolutionDOI:10.1111/j.2041-210X.2012.00186.x
Jones, OR, Purvis, A & Quicke, DLJ (2012) Latitudinal gradients in taxonomic overdescription rate affect macroecological inferences using species list data. Ecography 35: 333-340 DOI:10.1111/j.1600-0587.2011.06956.x
Conde, DA, Flesness, N, Colchero, F, Jones, OR, Scheuerlein, A (2011) An emerging role of zoos to conserve biodiversity. Science 331: 1390-1391 DOI:10.1126/science.1200674
Phillimore, AB, Hadfield, J, Jones, OR & Smithers, RJ (2010) Differences in spawning date between populations of common frog reveal local adaptation. Proceedings of the National Academy of Sciences of the USA 107: 8292-8297 DOI:10.1073/pnas.0913792107
Jones, OR & Wang, J (2010) Molecular marker-based pedigrees for animal conservation biologists. Animal Conservation 13: 26-34 DOI:10.1111/j.1469-1795.2009.00324.x
Jones, OR and 33 co-authors (2008) Senescence patterns determined by species ranking on the fast-slow life-history continuum. Ecology Letters 11: 664–673 DOI:10.1111/j.1461-0248.2008.01187.x
Jones, OR, Crawley, MJ & Pilkington, J (2006) Distribution of a naturally fluctuating ungulate population amongst heterogeneous plant communities: ideal and free? Journal of Animal Ecology 75: 1387–1392 DOI:10.1111/j.1365-2656.2006.01163.x
R Function: remove unused factor levels in a data frameSometimes it is necessary to drop the unused factor levels across an entire data frame. This function does that:dropall <- function(x){ isFac = NULL for (i in 1:dim(x)[2]){isFac[i] = is.factor(x[ , i])} for (i in 1:length(isFac)){ x[, i] = x[, i][ , drop = TRUE] } return(x) }
Posted 25 Jul 2011 06:33 by Owen Jones
R function: circular meanCircular means are useful if you are dealing with data that are inherently "circular" such as the day or month of the year, or direction.
For example, imagine your data consists of the month in which an event occurs, and you want to report the average month. If you had 3 observations in December, and 3 in February, the average should be in January (1) whereas the more conventional arithmetic mean would tell you the answer was 7. The trick to dealing with this issue is to convert the data into radians, and do a bunch of trigonometry.
This is how you might approach it in R:
You have 3 observations in December (12), and 3 in February.
m = c ...
Posted 25 Jul 2011 03:05 by Owen Jones
R function: round up to a number divisible by nroundup <- function(x,n){ceiling(ceiling(x)/n)*n}> roundup(c(12,213,23.2321,2.2),1)[1] 12 213 24 3> roundup(c(12,213,23.2321,2.2),7)[1] 14 217 28 7> roundup(c(12,213,23.2321,2.2),9)[1] 18 216 27 9>
Posted 25 Jul 2011 03:04 by Owen Jones