All R and QGIS tutorials for ecologists
Every Tidy Ecology tutorial in one table: sort by date or title, filter by keyword, or pick a topic to find the R or QGIS method your ecological data needs.
Every tutorial on the site, newest first. Sort by date or title, type in the filter box to narrow the list, or pick a topic on the right. If you would rather follow a path than search a list, Start here groups the same tutorials by the stage of an analysis, and the course is one numbered route through the essentials.
| Published | Tutorial | Topics |
|---|---|---|
| Sep 28, 2026 | Records on grid lines and floating point in R | R, GIS, terra, sf, occurrence data, data cleaning, ecology tutorial |
| Sep 28, 2026 | When integrate() in R returns zero and says OK | R, numerical methods, measurement error, likelihood, reproducibility, ecology tutorial |
| Sep 28, 2026 | Parameter scale decides what optim() finds | R, numerical methods, likelihood, population dynamics, reproducibility, ecology tutorial |
| Sep 28, 2026 | The delta method: standard errors for derived values | R, statistics, GLM, logistic regression, uncertainty, simulation, ecology tutorial |
| Sep 28, 2026 | Maximum likelihood by hand with optim() in R | R, maximum likelihood, GLM, nonlinear regression, count data, statistics, ecology tutorial |
| Sep 28, 2026 | What a p-value tells you, and what it does not | R, statistics, hypothesis testing, simulation, ecology tutorial |
| Sep 28, 2026 | Simulating correlated variables in R | R, simulation, statistics, count data, ecology tutorial |
| Sep 27, 2026 | Probability distributions in R: d, p, q and r | R, statistics, count data, simulation, ecology tutorial |
| Sep 27, 2026 | Repeating an analysis for every site in R | R, data wrangling, dplyr, ecology tutorial |
| Sep 27, 2026 | ggplot2 facets: fixed or free axis scales | R, ggplot2, data visualisation, monitoring, ecology tutorial |
| Sep 27, 2026 | Missing values in summaries: na.rm and false zeros | R, missing data, monitoring, count data, GLM, ecology tutorial |
| Sep 27, 2026 | Recoding field data in R: ifelse, if_else, case_when | R, dplyr, data wrangling, data cleaning, missing data, ecology tutorial |
| Sep 27, 2026 | Factor levels in R: reference groups and empty sites | R, dplyr, data wrangling, data cleaning, regression, ecology tutorial |
| Sep 27, 2026 | Reading Excel field sheets into R | R, data import, readxl, missing data, data cleaning, ecology tutorial |
| Sep 26, 2026 | Moran’s I on residuals: moran.test or lm.morantest | R, spdep, spatial, autocorrelation, regression, model checking, ecology tutorial |
| Sep 26, 2026 | Spatial cross-validation when the target is a map | R, cross-validation, spatial statistics, kriging, model validation, ecology tutorial |
| Sep 26, 2026 | Geographical detector: the interaction rule | R, spatial, GIS, interactions, variance partitioning, simulation, ecology tutorial |
| Sep 26, 2026 | Snapped coordinates and a clustering verdict | R, point patterns, spatial ecology, occurrence data, data cleaning, ecology tutorial |
| Sep 26, 2026 | Reprojecting a raster in QGIS and R: opposite defaults | R, QGIS, terra, GIS, spatial, raster data, ecology tutorial |
| Sep 26, 2026 | Natural breaks in QGIS and R: Jenks on large layers | R, QGIS, GIS, spatial, classInt, cartography, ecology tutorial |
| Sep 26, 2026 | QGIS NULL and R NA: what survives the trip | R, QGIS, sf, GeoPackage, missing data, data management, ecology tutorial |
| Sep 25, 2026 | Area in QGIS and R: which call matches which | R, QGIS, sf, GIS, spatial, ecology tutorial |
| Sep 25, 2026 | Attrition in a field experiment: when pots die first | R, experimental design, causal inference, missing data, simulation, ecology tutorial |
| Sep 25, 2026 | Randomising treatments to plots in R | R, experimental design, power analysis, simulation, ecology tutorial |
| Sep 25, 2026 | Adaptive second-phase tows and the low mean | R, survey design, stratified sampling, adaptive sampling, fisheries, simulation, ecology tutorial |
| Sep 25, 2026 | Estimating an inclusion probability you already know | R, survey design, sampling, weighting, simulation, ecology tutorial |
| Sep 25, 2026 | Sampling until the standard error is small | R, sampling design, count data, stopping rules, simulation, ecology tutorial |
| Sep 25, 2026 | Design weights in a stratified regression | R, survey design, stratified sampling, regression, simulation, ecology tutorial |
| Sep 24, 2026 | Weighted draws without replacement: sample() in R | R, survey design, sampling, monitoring, reproducibility, ecology tutorial |
| Sep 24, 2026 | Additive or compensatory harvest mortality | R, survival analysis, harvest, measurement error, simulation, ecology tutorial |
| Sep 24, 2026 | A state change seen only at visits | R, survival analysis, censoring, disease ecology, maximum likelihood, simulation, ecology tutorial |
| Sep 24, 2026 | Delayed entry and the Weibull hazard shape | R, survival analysis, survival, senescence, demography, simulation, ecology tutorial |
| Sep 24, 2026 | Year lists: cut at the recorder, not the site | R, occupancy, imperfect detection, citizen science, simulation, ecology tutorial |
| Sep 24, 2026 | Camera trap occupancy: choosing the occasion length | R, occupancy, imperfect detection, camera traps, survey design, ecology tutorial |
| Sep 24, 2026 | Removal passes until the catch drops | R, abundance, removal sampling, fisheries, stopping rules, simulation, ecology tutorial |
| Sep 23, 2026 | Time-removal point counts and observer arrival | R, abundance, imperfect detection, point counts, birds, simulation, ecology tutorial |
| Sep 23, 2026 | Disturbed animals in repeated counts | R, abundance, imperfect detection, N-mixture, behavioural response, simulation, ecology tutorial |
| Sep 23, 2026 | SDM fitted before the invasion is over | R, SDM, invasion, species distributions, model checking, ecology tutorial |
| Sep 23, 2026 | Trap-specific responses in spatial capture-recapture | R, capture-recapture, spatial, behavioural response, simulation, ecology tutorial |
| Sep 23, 2026 | Misread colour rings and apparent survival | R, capture-recapture, survival, colour ringing, simulation, ecology tutorial |
| Sep 23, 2026 | Transients and the single-capture rule in CJS | R, capture-recapture, survival analysis, population ecology, ecology tutorial |
| Sep 23, 2026 | Home-range overlap is not contact | R, movement ecology, telemetry, permutation tests, disease ecology, simulation, ecology tutorial |
| Sep 22, 2026 | Neighbourhood colonisation and false jumps | R, occupancy, invasion, spatial, ecology tutorial |
| Sep 22, 2026 | Levy walk or patchy habitat: which test to trust | R, movement ecology, Levy walk, power law, simulation, ecology tutorial |
| Sep 22, 2026 | Spatial sorting: the front that breeds its speed | R, invasion ecology, dispersal, evolutionary ecology, simulation, ecology tutorial |
| Sep 22, 2026 | Familiarity covariates without memory | R, movement ecology, habitat selection, simulation, ecology tutorial |
| Sep 22, 2026 | Missing GPS fixes in step selection | R, movement ecology, habitat selection, telemetry, missing data, simulation, ecology tutorial |
| Sep 22, 2026 | Spatial capture-recapture on a meandering stream | R, capture-recapture, spatial, abundance, freshwater, ecology tutorial |
| Sep 22, 2026 | GPS fix loss and the collars you drop | R, resource selection, movement ecology, telemetry, missing data, simulation, ecology tutorial |
| Sep 21, 2026 | Downstream gene flow and the phantom dam | R, population genetics, landscape genetics, simulation, ecology tutorial, ggplot2 |
| Sep 21, 2026 | Chilling, forcing and projected leaf-out | R, phenology, climate change, simulation, ecology tutorial |
| Sep 21, 2026 | Gill-net selectivity and the fish it cannot see | R, fisheries, sampling design, selectivity, simulation, ecology tutorial |
| Sep 21, 2026 | Thermal death time and the ramping rate | R, thermal ecology, physiology, survival analysis, censoring, simulation, ecology tutorial |
| Sep 21, 2026 | Activation energy and the rising limb | R, thermal ecology, physiology, nonlinear regression, simulation, ecology tutorial |
| Sep 21, 2026 | Genotype-environment scans under shared ancestry | R, ggplot2, population genetics, landscape genetics, GLS, ecology tutorial |
| Sep 21, 2026 | Fitting a senescence model to individual records | R, nlme, mixed models, senescence, population ecology, life history, simulation, ecology tutorial |
| Sep 20, 2026 | Runs of homozygosity and realised inbreeding | R, population genetics, inbreeding, conservation genetics, simulation, ecology tutorial |
| Sep 20, 2026 | Earlier maturation: evolution or faster growth? | R, fisheries, maturation, evolutionary ecology, simulation, ecology tutorial |
| Sep 20, 2026 | Purging siblings before estimating Ne | R, population genetics, effective population size, simulation, ecology tutorial, ggplot2 |
| Sep 20, 2026 | Nonlinear selection on BLUPs and on raw means | R, selection gradients, mixed models, measurement error, behavioural ecology, simulation, ecology tutorial |
| Sep 20, 2026 | Siblings in an assignment baseline | R, population genetics, simulation, ecology tutorial, ggplot2 |
| Sep 20, 2026 | Pseudocounts turn read depth into a result | R, vegan, PERMANOVA, microbial ecology, compositional data, ecology tutorial |
| Sep 20, 2026 | Seed dispersal: the nearest adult is not the parent | R, seed dispersal, dispersal, spatial ecology, inverse modelling, simulation, ecology tutorial |
| Sep 19, 2026 | Misread rings and the dispersal tail | R, dispersal, ring recovery, record linkage, simulation, ecology tutorial |
| Sep 19, 2026 | Global sensitivity analysis with Sobol indices | R, sensitivity analysis, uncertainty, matrix models, fisheries, simulation, ecology tutorial |
| Sep 19, 2026 | Drone flushing pushes a survey count both ways | R, drones, survey design, simulation, monitoring, ecology tutorial |
| Sep 19, 2026 | Reconstructing a population from ages at harvest | R, population dynamics, harvest, wildlife management, fisheries, likelihood, simulation, ecology tutorial |
| Sep 19, 2026 | Culls set by this year’s count: a causal trap | R, causal inference, wildlife management, population dynamics, simulation, ecology tutorial |
| Sep 19, 2026 | Detection from a single drone flight | R, abundance, imperfect detection, N-mixture, survey design, simulation, ecology tutorial |
| Sep 19, 2026 | Observation error estimated as zero in a Gompertz fit | R, population dynamics, state-space models, time series, density dependence, simulation, ecology tutorial |
| Sep 18, 2026 | PET-PEESE and publication bias under heterogeneity | R, meta-analysis, publication bias, simulation, ecology tutorial |
| Sep 18, 2026 | The mid-domain effect as a null for richness | R, macroecology, null models, species richness, simulation, ecology tutorial |
| Sep 18, 2026 | Flight-season shifts and false occupancy trends | R, occupancy, phenology, imperfect detection, citizen science, simulation, ecology tutorial |
| Sep 18, 2026 | Harvest surveys and the late respondent | R, survey design, non-response, harvest monitoring, simulation, ecology tutorial |
| Sep 18, 2026 | Pollen rate of change and uneven sample spacing | R, palaeoecology, pollen, time series, simulation, ecology tutorial |
| Sep 18, 2026 | Sediment quality guidelines from co-occurrence | R, ecotoxicology, sediment quality, logistic regression, simulation, ecology tutorial |
| Sep 18, 2026 | Lost collar signals and informative censoring | R, survival analysis, telemetry, censoring, simulation, ecology tutorial |
| Sep 17, 2026 | Interaction rewiring and its sampling floor | R, ecological networks, species interactions, pollination, permutation tests, ecology tutorial |
| Sep 17, 2026 | Extrapolating a species-area curve beyond the plots | R, species richness, biogeography, macroecology, simulation, ecology tutorial |
| Sep 17, 2026 | Revisits triggered by sightings in occupancy data | R, occupancy, imperfect detection, citizen science, simulation, ecology tutorial |
| Sep 17, 2026 | Likert items: when group means lie | R, questionnaires, ordinal data, human dimensions, simulation, MASS, ecology tutorial |
| Sep 17, 2026 | Tuning proxy records manufactures synchrony | R, palaeoecology, time series, simulation, ecology tutorial |
| Sep 17, 2026 | Integrated biomarker response and axis order | R, ecotoxicology, biomarkers, composite indices, simulation, ecology tutorial |
| Sep 17, 2026 | Classifying migrants from net squared displacement | R, movement ecology, migration, model selection, simulation, ecology tutorial |
| Sep 16, 2026 | Summed radiocarbon dates: an honest, nearly blind test | R, radiocarbon, palaeoecology, null models, simulation, ecology tutorial |
| Sep 16, 2026 | Year trends in effect sizes and the SE covariate | R, meta-analysis, meta-regression, publication bias, simulation, ecology tutorial |
| Sep 16, 2026 | Size measurement error in an IPM | R, integral projection models, measurement error, demography, simulation, ecology tutorial |
| Sep 16, 2026 | Fire return intervals from a short scar record | R, fire ecology, survival analysis, simulation, ecology tutorial |
| Sep 16, 2026 | Model discrepancy in simulator calibration | R, simulation models, Gaussian processes, calibration, model misspecification, ecology tutorial |
| Sep 16, 2026 | Heatwave counts: persistence, rule order, warming | R, climate, extremes, time series, simulation, ecology tutorial |
| Sep 16, 2026 | Related founders and marker kinship in a studbook | R, conservation genetics, captive breeding, population genetics, simulation, ecology tutorial |
| Sep 15, 2026 | Prediction intervals for a new site in meta-analysis | R, meta-analysis, heterogeneity, simulation, ecology tutorial |
| Sep 15, 2026 | Attributing one bad year to a warming trend | R, extreme value theory, climate change, selection bias, simulation, ecology tutorial |
| Sep 15, 2026 | Germination trials as time-to-event data | R, seed ecology, survival analysis, censoring, simulation, ecology tutorial |
| Sep 15, 2026 | Synthetic likelihood for noisy population dynamics | R, synthetic likelihood, approximate Bayesian computation, population dynamics, simulation, ecology tutorial |
| Sep 15, 2026 | Bout-ending criteria and the histogram bin width | R, animal behaviour, biologging, mixture models, maximum likelihood, simulation, ecology tutorial |
| Sep 15, 2026 | Observation error in a count-based PVA | R, population dynamics, conservation, extinction, state-space models, simulation, ecology tutorial |
| Sep 15, 2026 | Genetic rescue: how many migrants, for how long | R, conservation, population genetics, extinction, simulation, ecology tutorial |
| Sep 14, 2026 | Rapoport’s rule and the Stevens method | R, macroecology, biogeography, range size, simulation, ecology tutorial |
| Sep 14, 2026 | Latency tests when some animals never respond | R, survival analysis, animal behaviour, simulation, ecology tutorial |
| Sep 14, 2026 | Two imperfect tests and no gold standard | R, disease ecology, diagnostic tests, latent class models, simulation, ecology tutorial |
| Sep 14, 2026 | Fitting an ODE: trajectory versus gradient matching | R, population dynamics, differential equations, model fitting, simulation, ecology tutorial |
| Sep 14, 2026 | Geolocator latitude near the equinox | R, movement, geolocation, simulation, ecology tutorial |
| Sep 14, 2026 | Size-class boundaries in a matrix population model | R, matrix models, demography, population dynamics, simulation, ecology tutorial |
| Sep 14, 2026 | Mean kinship breeding in a captive population | R, conservation genetics, population genetics, captive breeding, simulation, ecology tutorial |
| Sep 13, 2026 | Trawl selectivity when hauls differ | R, fisheries, selectivity, GLM, overdispersion, simulation, ecology tutorial |
| Sep 13, 2026 | Snapshot prevalence and the phase of an epidemic | R, disease ecology, prevalence, serology, simulation, GLM, ecology tutorial |
| Sep 13, 2026 | Instrument drift, run order and check standards | R, laboratory data, experimental design, simulation, ecology tutorial |
| Sep 13, 2026 | CUSUM for die-offs when reporting effort persists | R, surveillance, wildlife disease, time series, autocorrelation, simulation, ecology tutorial |
| Sep 13, 2026 | Interpolated cores and false slowing down | R, early warning signals, palaeoecology, time series, resilience, simulation, ecology tutorial |
| Sep 13, 2026 | Negative binomial k from small host samples | R, parasitology, count data, simulation, ecology tutorial |
| Sep 13, 2026 | Smoothing a series before testing a forecast | R, time series, forecasting, model evaluation, mgcv, simulation, ecology tutorial |
| Sep 12, 2026 | Omitted random slopes and false positives | R, mixed models, nlme, type I error, simulation, ecology tutorial |
| Sep 12, 2026 | Binning a time series invents a reverse cause | R, time series, Granger causality, temporal aggregation, simulation, ecology tutorial |
| Sep 12, 2026 | Detecting a die-off from carcass reports | R, surveillance, wildlife disease, negative binomial, simulation, ecology tutorial |
| Sep 12, 2026 | Lasso, stepwise and the dropped confounder | R, regression, regularisation, causal inference, simulation, ecology tutorial |
| Sep 12, 2026 | Centring a quadratic before lasso or ridge | R, regression, regularisation, simulation, ecology tutorial |
| Sep 12, 2026 | Infection rates from pooled vector samples | R, disease ecology, group testing, simulation, ecology tutorial |
| Sep 12, 2026 | Tuned shrinkage and the penalty your data needed | R, regularisation, species distribution models, calibration, simulation, ecology tutorial |
| Sep 11, 2026 | Map accuracy and false fragmentation | R, landscape ecology, remote sensing, simulation, ecology tutorial |
| Sep 11, 2026 | Classifier scores over a camera-trap sequence | R, camera traps, model evaluation, machine learning, simulation, ecology tutorial |
| Sep 11, 2026 | Meta-analysis of little-replicated experiments | R, meta-analysis, response ratio, simulation, ecology tutorial |
| Sep 11, 2026 | Leave-one-out AUC on a small survey | R, model evaluation, cross-validation, species distributions, simulation, ecology tutorial |
| Sep 11, 2026 | The continuous Boyce index for presence-only SDMs | R, species distributions, presence-only, model evaluation, simulation, ecology tutorial |
| Sep 11, 2026 | Habitat amount versus fragmentation per se | R, landscape ecology, fragmentation, GLM, simulation, ecology tutorial |
| Sep 11, 2026 | Richness from stacked SDMs: sum the probabilities | R, species distribution models, species richness, simulation, ecology tutorial |
| Sep 10, 2026 | Spike tests on logger data delete real peaks | R, data cleaning, monitoring, time series, simulation, ecology tutorial |
| Sep 10, 2026 | Validating an SDM against a resurvey | R, SDM, model evaluation, forecasting, occupancy, simulation, ecology tutorial |
| Sep 10, 2026 | Density or frequency transmission in enclosures | R, disease ecology, epidemiology, GLM, experimental design, simulation, ecology tutorial |
| Sep 10, 2026 | Coarse climate layers and a species’ niche width | R, species distribution models, measurement error, simulation, ecology tutorial |
| Sep 10, 2026 | Novel climate combinations and the MESS map | R, species distribution models, climate change, collinearity, GAMs, mgcv, simulation, ecology tutorial |
| Sep 10, 2026 | Biotic index scores and sorting effort | R, bioassessment, monitoring, freshwater, simulation, ecology tutorial |
| Sep 10, 2026 | betadisper with unequal group sizes | R, vegan, PERMANOVA, multivariate, beta diversity, simulation, ecology tutorial |
| Sep 9, 2026 | Borrowed age-length keys and strong year classes | R, fisheries, age structure, EM, simulation, ecology tutorial |
| Sep 9, 2026 | Forward selection in RDA: ordistep or ordiR2step | R, vegan, ordination, constrained ordination, model selection, simulation, ecology tutorial |
| Sep 9, 2026 | Reset time and the double-counted hot day | R, temperature, climate, data quality, simulation, ecology tutorial |
| Sep 9, 2026 | Repeated-measures PERMANOVA in R: what to permute | R, vegan, PERMANOVA, permutation tests, repeated measures, experimental design, multivariate, simulation, ecology tutorial |
| Sep 9, 2026 | Permutation nulls that keep the map | R, spatial, permutation tests, ordination, Procrustes, simulation, ecology tutorial |
| Sep 9, 2026 | Growth from tag-recapture increments | R, growth, fisheries, capture-recapture, measurement error, nonlinear regression, simulation, ecology tutorial |
| Sep 9, 2026 | Standardising variables before clustering sites | R, clustering, multivariate, standardisation, simulation, ecology tutorial |
| Sep 8, 2026 | Checking a phylogenetic regression’s branch lengths | R, phylogenetics, comparative methods, model diagnostics, simulation, ecology tutorial |
| Sep 8, 2026 | Pielou’s evenness under unequal sampling effort | R, diversity, evenness, rarefaction, biodiversity, simulation, ecology tutorial |
| Sep 8, 2026 | Patches cut by the edge of the map | R, landscape ecology, patch metrics, edge correction, simulation, ecology tutorial |
| Sep 8, 2026 | Phylogeny in a multi-species meta-analysis | R, meta-analysis, phylogenetics, ape, simulation, ecology tutorial |
| Sep 8, 2026 | Correlations from gradients of different length | R, meta-analysis, effect size, heterogeneity, simulation, ecology tutorial |
| Sep 8, 2026 | Faecal egg count reduction tests at low counts | R, parasitology, disease ecology, bootstrap, simulation, ecology tutorial |
| Sep 8, 2026 | Cluster bootstrap at six sites, and what beats it | R, bootstrap, resampling, experimental design, pseudoreplication, simulation, ecology tutorial |
| Sep 7, 2026 | Removal estimates when catchability falls | R, abundance, detection, fisheries, simulation, ecology tutorial |
| Sep 7, 2026 | Permutation tests with a covariate in the model | R, permutation tests, hypothesis testing, regression, collinearity, simulation, ecology tutorial |
| Sep 7, 2026 | Sap flow and the zero-flow baseline | R, ecophysiology, sap flow, measurement error, simulation, ecology tutorial |
| Sep 7, 2026 | Missing values in a predictor: why, not how many | R, missing data, multiple imputation, regression, simulation, ecology tutorial |
| Sep 7, 2026 | Confidence intervals in quantile regression | R, quantile regression, confidence intervals, quantreg, simulation, ecology tutorial |
| Sep 7, 2026 | Detecting sex-biased dispersal from genotypes | R, population genetics, dispersal, permutation test, simulation, ecology tutorial |
| Sep 7, 2026 | Chi-squared approximation may be incorrect | R, hypothesis testing, count data, statistics, ecology tutorial |
| Sep 6, 2026 | Leaf area from gap fraction: the segment length | R, leaf area index, canopy, remote sensing, simulation, ecology tutorial |
| Sep 6, 2026 | Choosing a factor smooth for a half-sampled group | R, GAMs, mgcv, smoothing, hierarchical models, extrapolation, thermal ecology, ecology tutorial |
| Sep 6, 2026 | Carcass searches and fatality estimates | R, mortality, imperfect detection, simulation, ecology tutorial |
| Sep 6, 2026 | Overdispersion, year noise and a wiggly GAM trend | R, GAMs, mgcv, overdispersion, monitoring, population trends, simulation, ecology tutorial |
| Sep 6, 2026 | Vuong test for zero inflation, and what to use instead | R, count data, zero inflation, hypothesis testing, simulation, ecology tutorial |
| Sep 6, 2026 | Heterozygosity-fitness correlations and power | R, population genetics, inbreeding, statistical power, simulation, ecology tutorial |
| Sep 6, 2026 | AIC on REML fits: when units choose the model | R, mixed models, model selection, AIC, lme4, nlme, simulation, ecology tutorial |
| Sep 5, 2026 | Extra-pair paternity from parentage mismatches | R, population genetics, parentage, genotyping error, simulation, ecology tutorial |
| Sep 5, 2026 | The lme4 max|grad| warning and predictor scale | R, mixed models, lme4, GLMM, simulation, ecology tutorial |
| Sep 5, 2026 | Sequential sampling for pest decisions | R, sampling, count data, decision analysis, simulation, ecology tutorial |
| Sep 5, 2026 | Per chick or per nest: informative cluster size | R, mixed models, nlme, clustered data, experimental design, simulation, ecology tutorial |
| Sep 5, 2026 | Extinction dates from sighting records | R, extinction, conservation, simulation, statistics, ecology tutorial |
| Sep 4, 2026 | Chamber fluxes: linear or exponential fits | R, soil respiration, greenhouse gas flux, nonlinear regression, simulation, ecology tutorial |
| Sep 4, 2026 | Temporal Ne with overlapping generations: plan II bias | R, population genetics, effective population size, simulation, ecology tutorial |
| Sep 4, 2026 | Fertility control versus culling in R | R, population dynamics, wildlife management, density dependence, simulation, ecology tutorial |
| Sep 3, 2026 | Light response curves: the curvature you drop | R, photosynthesis, nonlinear regression, model selection, simulation, ecology tutorial |
| Sep 3, 2026 | Bateman gradients from genetic parentage | R, sexual selection, parentage, simulation, ecology tutorial |
| Sep 3, 2026 | Declaring eradication after empty traps | R, eradication, invasive species, removal sampling, detection, simulation, ecology tutorial |
| Sep 2, 2026 | Fishing, age truncation and spawning variability | R, fisheries, population dynamics, age structure, time series, simulation, ecology tutorial |
| Sep 2, 2026 | Reference sites and tolerance bounds | R, bioassessment, monitoring, statistics, simulation, ecology tutorial |
| Sep 2, 2026 | Open N-mixture models and the detection trap | R, abundance, imperfect detection, population dynamics, simulation, ecology tutorial |
| Sep 1, 2026 | Distributed lag models versus the climate window | R, mgcv, GAMs, climate, time series, simulation, ecology tutorial |
| Sep 1, 2026 | Net primary production from repeated harvests | R, primary production, grassland, sampling, simulation, ecology tutorial |
| Sep 1, 2026 | Individual growth curves with nlme | R, nlme, mixed models, nonlinear regression, growth, simulation, ecology tutorial |
| Aug 31, 2026 | Patch-leaving rules and prey clumping | R, foraging, behaviour, simulation, ecology tutorial |
| Aug 31, 2026 | Observer effects and the first-year dip | R, monitoring, trend, GLM, observer effects, ecology tutorial |
| Aug 31, 2026 | Rock-paper-scissors needs local interaction | R, community ecology, evolutionary game theory, spatial ecology, simulation, survival, ecology tutorial |
| Aug 30, 2026 | Critical patch size and the dispersal kernel | R, dispersal, population dynamics, spatial ecology, simulation, ecology tutorial |
| Aug 30, 2026 | NOEC rewards noisy toxicity tests | R, ecotoxicology, dose-response, hypothesis testing, simulation, ecology tutorial |
| Aug 30, 2026 | Ratio indices or ANCOVA for body size | R, ANCOVA, allometry, physiology, simulation, ecology tutorial |
| Aug 29, 2026 | Within- and between-individual effects in R | R, mixed models, nlme, centring, behavioural ecology, simulation, ecology tutorial |
| Aug 29, 2026 | Deleting outliers before the test | R, regression, hypothesis testing, simulation, statistics, ecology tutorial |
| Aug 29, 2026 | Evolutionary rescue and starting population size | R, evolutionary ecology, quantitative genetics, extinction, simulation, ecology tutorial |
| Aug 28, 2026 | Red noise and extinction risk in a Ricker model | R, population dynamics, extinction, stochastic simulation, time series, ecology tutorial |
| Aug 28, 2026 | Zeros and ones in beta regression | R, beta regression, proportions, censoring, simulation, ecology tutorial |
| Aug 28, 2026 | Pitfall catches and the depletion zone | R, pitfall traps, sampling, movement ecology, simulation, ecology tutorial |
| Aug 27, 2026 | Line transects along tracks and avoidance | R, distance sampling, abundance, survey design, model checking, ecology tutorial |
| Aug 27, 2026 | Acoustic indices and species richness | R, bioacoustics, acoustic monitoring, biodiversity, simulation, ecology tutorial |
| Aug 27, 2026 | Quadrat variance peaks and false second scales | R, spatial pattern, quadrat variance, statistics, ecology tutorial |
| Aug 26, 2026 | Harmonics or cyclic splines for a narrow seasonal peak | R, phenology, GAMs, mgcv, time series, ecology tutorial |
| Aug 26, 2026 | Multilevel post-stratification of records | R, mgcv, citizen science, survey design, hierarchical models, ecology tutorial |
| Aug 26, 2026 | Angle-count sampling for basal area | R, forest inventory, survey design, sampling, simulation, ecology tutorial |
| Aug 25, 2026 | Log-linear models for three-way count tables | R, GLM, contingency tables, log-linear models, simulation, ecology tutorial |
| Aug 25, 2026 | Brownian motion or Ornstein-Uhlenbeck? | R, phylogenetics, comparative methods, model selection, simulation, ecology tutorial |
| Aug 25, 2026 | Interval-censored survival from visit data | R, survival analysis, censoring, survival, simulation, ecology tutorial |
| Aug 24, 2026 | Pretesting variances before a t test | R, hypothesis testing, simulation, statistics, ecology tutorial |
| Aug 24, 2026 | Dirichlet-multinomial models for read counts | R, metabarcoding, overdispersion, simulation, diet analysis, ecology tutorial |
| Aug 24, 2026 | Self-exciting events and the Hawkes process | R, point processes, time series, acoustic monitoring, statistics, ecology tutorial |
| Aug 23, 2026 | Species synchrony and community stability | R, community ecology, stability, synchrony, simulation, ecology tutorial |
| Aug 23, 2026 | Spatial synchrony and the Moran effect | R, population dynamics, time series, spatial synchrony, simulation, ecology tutorial |
| Aug 23, 2026 | Seasonal matrix models and the census date | R, population dynamics, matrix models, demography, conservation, ecology tutorial |
| Aug 22, 2026 | Census interval bias in tree mortality rates | R, survival analysis, forest dynamics, demography, simulation, ecology tutorial |
| Aug 22, 2026 | Identification errors in capture-recapture | R, capture-recapture, abundance, photo identification, simulation, ecology tutorial |
| Aug 22, 2026 | Change-in-ratio population estimates in R | R, abundance, harvest, population ecology, ecology tutorial |
| Aug 21, 2026 | Particle MCMC for state space models | R, Bayesian statistics, MCMC, state-space models, particle filter, population dynamics, ecology tutorial |
| Aug 21, 2026 | Emulating a slow simulation model | R, simulation, Gaussian processes, computer experiments, ecology tutorial |
| Aug 21, 2026 | Derivatives of a GAM trend: when did it change? | R, GAMs, mgcv, trend, monitoring, thresholds, ecology tutorial |
| Aug 20, 2026 | Hierarchical GAMs and factor smooths in mgcv | R, GAMs, mgcv, smoothing, hierarchical models, thermal ecology, ecology tutorial |
| Aug 20, 2026 | Home vs away and local vs foreign in transplants | R, local adaptation, experimental design, interactions, simulation, ecology tutorial |
| Aug 20, 2026 | Checking published summary statistics | R, meta-analysis, reproducibility, statistics, ecology tutorial |
| Aug 19, 2026 | Inclusion criteria move the pooled effect | R, meta-analysis, publication bias, research synthesis, simulation, ecology tutorial |
| Aug 19, 2026 | Data entry errors and what your checks catch | R, data cleaning, data entry, measurement error, monitoring, ecology tutorial |
| Aug 19, 2026 | Curve registration and functional PCA | R, functional data, phenology, PCA, smoothing, ecology tutorial |
| Aug 18, 2026 | Depth sensor drift and the dive count | R, biologging, diving behaviour, measurement error, simulation, ecology tutorial |
| Aug 18, 2026 | Tree ring detrending and the segment length curse | R, dendrochronology, time series, palaeoecology, detrending, ecology tutorial |
| Aug 18, 2026 | Accelerometer windows and short behaviours | R, accelerometry, animal behaviour, classification, MASS, simulation, ecology tutorial |
| Aug 17, 2026 | Spatial+ and the attenuated slope | R, GAMs, mgcv, spatial, spatial confounding, simulation, ecology tutorial |
| Aug 17, 2026 | Separable space-time covariance, tested | R, spatial, time series, covariance, simulation, ecology tutorial |
| Aug 17, 2026 | Conditional simulation versus kriging | R, spatial, geostatistics, simulation, ecology tutorial |
| Aug 16, 2026 | Random effects with too few levels | R, mixed models, variance components, simulation, ecology tutorial |
| Aug 16, 2026 | Join counts for presence-absence maps | R, spatial statistics, autocorrelation, presence-absence, permutation tests, ecology tutorial |
| Aug 16, 2026 | Records as a test for trend | R, trend, monitoring, statistics, ecology tutorial |
| Aug 15, 2026 | Aggregation and host parasitoid stability | R, population dynamics, host-parasitoid, stability, ecology tutorial |
| Aug 15, 2026 | The jackknife and bias correction | R, resampling, statistics, diversity, ecology tutorial |
| Aug 15, 2026 | Island biogeography and turnover | R, biogeography, species richness, community ecology, ecology tutorial |
| Aug 14, 2026 | Resource competition and the R-star rule | R, competition, coexistence, theoretical ecology, ecology tutorial |
| Aug 14, 2026 | Testing a fitted distribution | R, goodness of fit, model checking, resampling, ecology tutorial |
| Aug 14, 2026 | The paradox of enrichment in R | R, theoretical ecology, population dynamics, predation, ecology tutorial |
| Aug 13, 2026 | Daylength as a predictor in ecology | R, phenology, photoperiod, simulation, ecology tutorial |
| Aug 13, 2026 | Taylor’s power law and how many quadrats | R, sampling design, count data, spatial ecology, ecology tutorial |
| Aug 13, 2026 | Network robustness and secondary extinctions | R, ecological networks, extinction, statistics, ecology tutorial |
| Aug 13, 2026 | Observer agreement and Cohen’s kappa in R | R, measurement error, survey design, statistics, ecology tutorial |
| Aug 13, 2026 | Estimating plant cover with point intercepts | R, survey design, vegetation, statistics, ecology tutorial |
| Aug 13, 2026 | Plotless density estimation from distances | R, spatial, point patterns, sampling, ecology tutorial |
| Aug 13, 2026 | Back-transforming a log-scale model | R, regression, allometry, statistics, ecology tutorial |
| Aug 12, 2026 | Observed power tells you nothing | R, hypothesis testing, study design, statistics, ecology tutorial |
| Aug 12, 2026 | GEE or a mixed model? Marginal and conditional | R, mixed models, GLM, lme4, ecology tutorial |
| Aug 12, 2026 | The scale of effect in landscape data | R, terra, spatial, landscape ecology, model selection, ecology tutorial |
| Aug 12, 2026 | Slope and aspect: what a DEM does not measure | R, terra, spatial, raster data, ecology tutorial |
| Aug 12, 2026 | What a shapefile loses: names, times and types | R, sf, spatial, data management, ecology tutorial |
| Aug 12, 2026 | Georeferencing RMS is not accuracy | QGIS, R, terra, GIS, spatial, ecology tutorial |
| Aug 12, 2026 | When redrawing zones flips the sign | R, spatial ecology, model diagnostics, ecology tutorial, ggplot2 |
| Aug 11, 2026 | Selection models for publication bias | R, meta-analysis, publication bias, ecology tutorial |
| Aug 11, 2026 | Running QGIS from the command line | R, QGIS, GIS, spatial, ecology tutorial |
| Aug 11, 2026 | Coordinate error and habitat assignment | R, sf, GIS, spatial, ecology tutorial |
| Aug 11, 2026 | Rasterising a vector layer | R, terra, sf, GIS, ecology tutorial |
| Aug 11, 2026 | Checking a vector layer before you measure | R, sf, GIS, spatial, ecology tutorial |
| Aug 11, 2026 | Choosing a projection for area and distance | R, sf, GIS, spatial, ecology tutorial |
| Aug 11, 2026 | The m out of n bootstrap | R, bootstrap, resampling, statistics, ecology tutorial |
| Aug 10, 2026 | Tensor product smooths in mgcv | R, mgcv, GAMs, spatial ecology, ecology tutorial |
| Aug 10, 2026 | Dichotomising a continuous confounder | R, causal inference, regression, simulation, ecology tutorial |
| Aug 10, 2026 | Where the night-time flux comes from | R, eddy covariance, micrometeorology, carbon flux, ecology tutorial |
| Aug 10, 2026 | Qst against Fst: is the trait under selection? | R, quantitative genetics, population genetics, simulation, ecology tutorial |
| Aug 10, 2026 | Ecosystem multifunctionality and its threshold | R, biodiversity, ecosystem function, community ecology, ecology tutorial |
| Aug 10, 2026 | What a detection time is worth | R, occupancy, survey design, detection probability, ecology tutorial |
| Aug 10, 2026 | Joint live-dead models: survival or fidelity? | R, capture-recapture, survival analysis, population ecology, ecology tutorial |
| Aug 9, 2026 | Comparing two groups of angles | R, circular statistics, hypothesis testing, permutation tests, ecology tutorial |
| Aug 9, 2026 | Front-door adjustment when no instrument exists | R, causal inference, DAGs, mediation, ecology tutorial |
| Aug 9, 2026 | Combining species trends into one index | R, monitoring, biodiversity, time series, ecology tutorial |
| Aug 9, 2026 | Time-varying covariates in a survival model | R, survival analysis, causal inference, ecology tutorial |
| Aug 9, 2026 | Nonlinear selection gradients in R | R, evolutionary ecology, quantitative genetics, natural selection, ecology tutorial |
| Aug 9, 2026 | Force of infection from age prevalence | R, disease ecology, epidemiology, GLM, ecology tutorial |
| Aug 9, 2026 | Dominance hierarchies from wins | R, behaviour, social structure, statistics, ecology tutorial |
| Aug 8, 2026 | Checking a matrix population model | R, population dynamics, demography, matrix models, ecology tutorial |
| Aug 8, 2026 | Fitting a body size spectrum | R, body size, power laws, statistics, ecology tutorial |
| Aug 8, 2026 | Capture heterogeneity: Mt, Mb and Mh in R | R, capture-recapture, abundance, model diagnostics, ecology tutorial |
| Aug 8, 2026 | Nested and crossed random effects in lme4 | R, mixed models, experimental design, lme4, ecology tutorial |
| Aug 8, 2026 | Weighted averaging transfer functions in R | R, palaeoecology, calibration, model diagnostics, ecology tutorial |
| Aug 8, 2026 | Permutation tests from scratch | R, hypothesis testing, statistics, ecology tutorial |
| Aug 8, 2026 | Checking a functional diversity analysis | R, functional diversity, traits, model diagnostics, ecology tutorial |
| Aug 7, 2026 | Geographically weighted regression in R | R, spatial ecology, regression, model diagnostics, ecology tutorial |
| Aug 7, 2026 | Quantifying phenological mismatch | R, phenology, climate change, trophic interactions, ecology tutorial |
| Aug 7, 2026 | Checking a point pattern analysis | R, point patterns, spatial ecology, null models, ecology tutorial |
| Aug 7, 2026 | Stream metabolism from one oxygen logger | R, freshwater ecology, ecosystem fluxes, time series, ecology tutorial |
| Aug 7, 2026 | Elements of metacommunity structure: a stress test | R, metacommunities, null models, community ecology, ecology tutorial |
| Aug 7, 2026 | Age-depth models and what they do to a proxy | R, palaeoecology, time series, uncertainty, ecology tutorial |
| Aug 7, 2026 | Dispersion checks when the counts are small | R, GLM, count data, model checking, ecology tutorial |
| Aug 6, 2026 | Two-species point patterns: testing for interaction | R, point patterns, spatial ecology, null models, ecology tutorial |
| Aug 6, 2026 | Soil carbon stocks and equivalent soil mass | R, soil carbon, monitoring, carbon accounting, ecology tutorial |
| Aug 6, 2026 | Latent variables in an SEM, from scratch in R | R, structural equation models, measurement error, ecology tutorial |
| Aug 6, 2026 | Values below the detection limit in R | R, censored data, monitoring, water quality, ecology tutorial |
| Aug 6, 2026 | What a CSV loses: archiving an R analysis | R, reproducibility, data management, ecology tutorial |
| Aug 6, 2026 | Ranking sites when every estimate is noisy | R, monitoring, shrinkage, prioritisation, ecology tutorial |
| Aug 6, 2026 | AIC with missing values: the silent row drop | R, model selection, AIC, missing data, ecology tutorial |
| Aug 5, 2026 | What a rank test actually tests | R, hypothesis testing, nonparametric statistics, ecology tutorial |
| Aug 5, 2026 | Testing for no effect: equivalence tests in R | R, hypothesis testing, equivalence, study design, ecology tutorial |
| Aug 5, 2026 | Checking an NMDS stress value | R, vegan, NMDS, ordination, community ecology, ecology tutorial |
| Aug 5, 2026 | Checking a community classification | R, vegan, PERMANOVA, cluster analysis, community ecology, ecology tutorial |
| Aug 5, 2026 | Power for a community study | R, vegan, PERMANOVA, community ecology, study design, ecology tutorial |
| Aug 5, 2026 | What SIMPER actually ranks | R, vegan, community ecology, multivariate, ecology tutorial |
| Aug 5, 2026 | Implementing a plan while land is lost | R, conservation planning, decision analysis, ecology tutorial, ggplot2 |
| Aug 4, 2026 | LiDAR height normalisation on slopes | R, LiDAR, remote sensing, forest structure, ecology tutorial |
| Aug 4, 2026 | Parasite burdens truncated by host death | R, parasitology, count data, selection bias, ecology tutorial |
| Aug 4, 2026 | Prevalence from an imperfect test | R, disease ecology, survey design, epidemiology, ecology tutorial |
| Aug 4, 2026 | Dependent effect sizes in meta-analysis | R, meta-analysis, effect size, heterogeneity, ecology tutorial |
| Aug 4, 2026 | Residuals as a variable: the two-step trap | R, regression, collinearity, model diagnostics, ecology tutorial |
| Aug 4, 2026 | Comparing significance is not a test | R, interactions, hypothesis testing, statistical power, ecology tutorial |
| Aug 4, 2026 | Term order in unbalanced factorial ANOVA | R, ANOVA, linear models, experimental design, ecology tutorial |
| Aug 3, 2026 | Slice sampling from scratch | R, MCMC, Bayesian statistics, ecology tutorial |
| Aug 3, 2026 | Bridge sampling for marginal likelihoods | R, Bayesian statistics, MCMC, model selection, ecology tutorial |
| Aug 3, 2026 | Reversible jump MCMC from scratch | R, Bayesian statistics, MCMC, model selection, ecology tutorial |
| Aug 3, 2026 | Checking a remote sensing covariate | R, terra, remote sensing, GLM, model checking, ecology tutorial |
| Aug 3, 2026 | Filling cloud gaps in a satellite series | R, terra, remote sensing, missing data, ecology tutorial |
| Aug 3, 2026 | Harmonic regression on a seasonal raster | R, remote sensing, time series, terra, ecology tutorial |
| Aug 3, 2026 | NDVI time series from a raster stack | R, terra, remote sensing, phenology, ecology tutorial |
| Aug 2, 2026 | Decline estimates and Red List criterion A | R, conservation, IUCN, monitoring, ecology tutorial |
| Aug 2, 2026 | Testing a monitoring series every year | R, monitoring, multiple testing, trend, ecology tutorial |
| Aug 2, 2026 | Transporting an effect to a new region | R, causal inference, transportability, external validity, ecology tutorial |
| Aug 2, 2026 | Checking an annual flux budget | R, eddy covariance, carbon flux, model checking, ecology tutorial |
| Aug 2, 2026 | Partitioning net flux into GPP and respiration | R, eddy covariance, carbon flux, GPP, ecology tutorial |
| Aug 2, 2026 | Gap filling a flux time series | R, missing data, time series, carbon flux, ecology tutorial |
| Aug 2, 2026 | Night-time flux and the u-star threshold | R, eddy covariance, carbon flux, data quality, ecology tutorial |
| Aug 1, 2026 | Robust regression for ecological outliers | R, regression, MASS, ecology tutorial |
| Aug 1, 2026 | Tail dependence and joint extremes | R, extreme value theory, conservation, simulation, ecology tutorial |
| Aug 1, 2026 | Copulas for dependent ecological data | R, multivariate, simulation, ecology tutorial |
| Aug 1, 2026 | Stream networks and tail-up covariance | R, spatial, GLS, freshwater, ecology tutorial |
| Aug 1, 2026 | Checking your data against the design | R, data cleaning, survey design, monitoring, ecology tutorial |
| Aug 1, 2026 | Baseline selection and the return to the mean | R, experimental design, causal inference, monitoring, ecology tutorial |
| Aug 1, 2026 | Effect sizes from incomplete reports | R, meta-analysis, effect size, ecology tutorial |
| Jul 31, 2026 | Digit preference and heaping in field data | R, measurement, data cleaning, monitoring, ecology tutorial |
| Jul 31, 2026 | Rounded and coarsened measurements | R, measurement, data cleaning, ecology tutorial |
| Jul 31, 2026 | How long a calibration overlap do you need? | R, monitoring, survey design, time series, ecology tutorial |
| Jul 31, 2026 | Splicing a monitoring series | R, monitoring, time series, trend, ecology tutorial |
| Jul 31, 2026 | Non-response and site substitution | R, survey design, monitoring, sampling, ecology tutorial |
| Jul 31, 2026 | The price of harmonising a species list | R, monitoring, data cleaning, ecology tutorial |
| Jul 31, 2026 | Taxonomic revision and species trends | R, monitoring, data cleaning, ecology tutorial |
| Jul 30, 2026 | Interference between experimental plots | R, causal inference, experimental design, ecology tutorial |
| Jul 30, 2026 | Non-compliance in field experiments | R, causal inference, experimental design, ecology tutorial |
| Jul 30, 2026 | Variational inference from scratch | R, variational inference, Bayesian statistics, MCMC, ecology tutorial |
| Jul 30, 2026 | The variogram and the GP kernel | R, spatial, geostatistics, Bayesian statistics, ecology tutorial |
| Jul 30, 2026 | Comparing two ordinations with Procrustes | R, ordination, multivariate, vegan, ecology tutorial |
| Jul 30, 2026 | Split-plot designs in ecology | R, experimental design, ANOVA, GLMM, ecology tutorial |
| Jul 30, 2026 | When decision makers disagree | R, decision analysis, ecology tutorial |
| Jul 29, 2026 | Eliciting probabilities from experts | R, decision analysis, Bayesian statistics, ecology tutorial |
| Jul 29, 2026 | Checking a mixture model | R, mixture models, model checking, ecology tutorial |
| Jul 29, 2026 | When a mixture is really skewness | R, mixture models, model checking, ecology tutorial |
| Jul 29, 2026 | How many components in a mixture? | R, mixture models, model selection, ecology tutorial |
| Jul 29, 2026 | Fitting a mixture of normals in R | R, mixture models, EM, ecology tutorial |
| Jul 29, 2026 | Checking a Bayesian computation | R, MCMC, Bayesian statistics, model checking, ecology tutorial |
| Jul 29, 2026 | Reparameterisation and Neal’s funnel | R, MCMC, Bayesian statistics, hierarchical models, ecology tutorial |
| Jul 28, 2026 | The Laplace approximation in R | R, MCMC, Bayesian statistics, model selection, ecology tutorial |
| Jul 28, 2026 | Hamiltonian Monte Carlo from scratch | R, MCMC, Bayesian statistics, ecology tutorial |
| Jul 28, 2026 | Checking a stochastic simulation | R, stochastic simulation, model checking, ecology tutorial |
| Jul 28, 2026 | Mean time to extinction, exactly | R, stochastic simulation, population models, extinction, ecology tutorial |
| Jul 28, 2026 | Tau leaping and the cost of a bigger step | R, stochastic simulation, population models, ecology tutorial |
| Jul 28, 2026 | The Gillespie algorithm from scratch | R, stochastic simulation, population models, ecology tutorial |
| Jul 28, 2026 | Checking a repeatability analysis | R, behaviour, repeatability, model checking, ecology tutorial |
| Jul 27, 2026 | Behaviour sequences as Markov chains | R, behaviour, Markov chains, ecology tutorial |
| Jul 27, 2026 | Behavioural syndromes in R | R, behaviour, mixed models, repeatability, ecology tutorial |
| Jul 27, 2026 | Adjusted repeatability in R | R, behaviour, mixed models, repeatability, ecology tutorial |
| Jul 27, 2026 | Checking an animal model | R, quantitative genetics, heritability, model checking, ecology tutorial |
| Jul 27, 2026 | Maternal effects inflate heritability | R, quantitative genetics, heritability, study design, ecology tutorial |
| Jul 27, 2026 | Pedigree structure and heritability precision | R, quantitative genetics, heritability, study design, ecology tutorial |
| Jul 27, 2026 | The animal model in R | R, quantitative genetics, heritability, mixed models, ecology tutorial |
| Jul 26, 2026 | Checking a range shift analysis | R, climate change, model checking, ecology tutorial, ggplot2 |
| Jul 26, 2026 | Range shifts and the climate lag | R, climate change, macroecology, ecology tutorial, ggplot2 |
| Jul 26, 2026 | Climate velocity in R | R, climate change, spatial, ecology tutorial, ggplot2 |
| Jul 26, 2026 | Checking a decomposition analysis | R, decomposition, model checking, ecology tutorial, ggplot2 |
| Jul 26, 2026 | Mass loss and the carbon budget | R, decomposition, carbon, ecology tutorial, ggplot2 |
| Jul 26, 2026 | The recalcitrant pool and the asymptote | R, decomposition, nonlinear regression, ecology tutorial, ggplot2 |
| Jul 26, 2026 | Fitting litter decomposition curves | R, decomposition, nonlinear regression, ecology tutorial, ggplot2 |
| Jul 25, 2026 | Checking a macroecological pattern | R, macroecology, model checking, ecology tutorial, ggplot2 |
| Jul 25, 2026 | Range size distributions | R, macroecology, biogeography, ecology tutorial, ggplot2 |
| Jul 25, 2026 | The abundance-occupancy relationship | R, macroecology, occupancy, ecology tutorial, ggplot2 |
| Jul 25, 2026 | Text and regular expressions in R | R, data cleaning, ecology tutorial, ggplot2 |
| Jul 25, 2026 | Dates and times in ecological data | R, data cleaning, ecology tutorial, ggplot2 |
| Jul 25, 2026 | Git for ecologists | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Turning your code into an R package | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Building an analysis pipeline with targets | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Pinning package versions with renv | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Checking an analysis script | R, reproducibility, model diagnostics, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Speeding up your analysis code | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Debugging and defensive R code | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 24, 2026 | Testing your analysis code | R, reproducibility, ecology tutorial, ggplot2 |
| Jul 23, 2026 | Checking a figure | R, data visualisation, ggplot2, ecology tutorial |
| Jul 23, 2026 | Effect plots that show the data | R, data visualisation, ggplot2, ecology tutorial |
| Jul 23, 2026 | Designing an ordination figure | R, data visualisation, ggplot2, ecology tutorial |
| Jul 23, 2026 | Choosing colours for ecological data | R, data visualisation, ggplot2, ecology tutorial |
| Jul 23, 2026 | Checking an unstructured-data analysis | R, citizen science, monitoring, ecology tutorial, ggplot2 |
| Jul 23, 2026 | Occupancy from unstructured records | R, citizen science, monitoring, ecology tutorial, ggplot2 |
| Jul 22, 2026 | Reporting rates and effort drift | R, citizen science, monitoring, ecology tutorial, ggplot2 |
| Jul 22, 2026 | List-length analysis for opportunistic data | R, citizen science, monitoring, ecology tutorial, ggplot2 |
| Jul 22, 2026 | Checking a dose-response analysis | R, ecotoxicology, GLM, ecology tutorial, ggplot2 |
| Jul 22, 2026 | Hormesis and non-monotonic responses | R, ecotoxicology, nonlinear regression, ecology tutorial, ggplot2 |
| Jul 22, 2026 | Confidence intervals for effective doses | R, ecotoxicology, GLM, ecology tutorial, ggplot2 |
| Jul 22, 2026 | Dose-response curves and the LC50 | R, ecotoxicology, GLM, ecology tutorial, ggplot2 |
| Jul 22, 2026 | Checking an invasion spread model | R, invasion ecology, dispersal, ecology tutorial, ggplot2 |
| Jul 21, 2026 | Long-distance jumps and stratified spread | R, invasion ecology, dispersal, ecology tutorial, ggplot2 |
| Jul 21, 2026 | Fat tails and accelerating spread | R, invasion ecology, dispersal, ecology tutorial, ggplot2 |
| Jul 21, 2026 | The speed of an invasion front | R, invasion ecology, dispersal, ecology tutorial, ggplot2 |
| Jul 21, 2026 | Checking a sequential decision model | R, conservation, decision analysis, ecology tutorial, ggplot2 |
| Jul 21, 2026 | When to stop monitoring | R, monitoring, decision analysis, ecology tutorial, ggplot2 |
| Jul 21, 2026 | Stochastic dynamic programming for harvest | R, conservation, decision analysis, ecology tutorial, ggplot2 |
| Jul 21, 2026 | Markov decision processes for management | R, conservation, decision analysis, ecology tutorial, ggplot2 |
| Jul 20, 2026 | Checking a decision analysis | R, conservation, decision analysis, model diagnostics, ecology tutorial, ggplot2 |
| Jul 20, 2026 | Adaptive management and learning | R, conservation, decision analysis, ecology tutorial, ggplot2 |
| Jul 20, 2026 | The expected value of information | R, conservation, decision analysis, ecology tutorial, ggplot2 |
| Jul 20, 2026 | Structured decision making in R | R, conservation, decision analysis, ecology tutorial, ggplot2 |
| Jul 20, 2026 | Checking a reintroduction analysis | R, conservation, reintroduction, PVA, model diagnostics, ecology tutorial, ggplot2 |
| Jul 20, 2026 | Restoration trajectories and recovery | R, conservation, restoration, community ecology, ecology tutorial, ggplot2 |
| Jul 19, 2026 | SLOSS and reserve configuration | R, conservation, reserve design, biodiversity, ecology tutorial, ggplot2 |
| Jul 19, 2026 | Reintroduction release strategies | R, conservation, reintroduction, PVA, population dynamics, ecology tutorial, ggplot2 |
| Jul 19, 2026 | Checking a climate window analysis | R, climate, phenology, model diagnostics, ecology tutorial, ggplot2 |
| Jul 19, 2026 | Climate window analysis in R | R, climate, phenology, hypothesis testing, ecology tutorial, ggplot2 |
| Jul 19, 2026 | Drought indices for ecologists | R, climate, drought, phenology, ecology tutorial, ggplot2 |
| Jul 19, 2026 | Degree days and thermal time in R | R, phenology, climate, thermal ecology, ecology tutorial, ggplot2 |
| Jul 19, 2026 | Checking an epidemic estimate | R, epidemiology, disease ecology, model diagnostics, ecology tutorial, ggplot2 |
| Jul 18, 2026 | Seasonality and recurrent epidemics | R, epidemiology, disease ecology, population dynamics, ecology tutorial, ggplot2 |
| Jul 18, 2026 | Estimating R0 from incidence data | R, epidemiology, disease ecology, GLM, ecology tutorial, ggplot2 |
| Jul 18, 2026 | The SEIR model and the latent period | R, epidemiology, disease ecology, SEIR, population dynamics, ecology tutorial, ggplot2 |
| Jul 18, 2026 | Checking an isotopic niche analysis | R, stable isotopes, trophic ecology, model diagnostics, ecology tutorial, ggplot2 |
| Jul 18, 2026 | Isotopic niche overlap between groups | R, stable isotopes, trophic ecology, niche overlap, ecology tutorial, ggplot2 |
| Jul 18, 2026 | Trophic position from stable isotopes | R, stable isotopes, trophic ecology, food webs, ecology tutorial, ggplot2 |
| Jul 18, 2026 | Isotopic niche width: hulls and ellipses | R, stable isotopes, trophic ecology, ecology tutorial, ggplot2 |
| Jul 17, 2026 | Checking a stock assessment | R, fisheries, stock assessment, model diagnostics, ecology tutorial, ggplot2 |
| Jul 17, 2026 | Standardising catch per unit effort | R, fisheries, stock assessment, GLM, ecology tutorial, ggplot2 |
| Jul 17, 2026 | Stock-recruitment and reference points | R, fisheries, stock assessment, population dynamics, ecology tutorial, ggplot2 |
| Jul 17, 2026 | Surplus production models in R | R, fisheries, stock assessment, population dynamics, ecology tutorial, ggplot2 |
| Jul 17, 2026 | Checking a metabarcoding analysis | R, metabarcoding, diet analysis, model diagnostics, ecology tutorial, ggplot2 |
| Jul 17, 2026 | Contamination filtering in metabarcoding | R, metabarcoding, diet analysis, model diagnostics, ecology tutorial, ggplot2 |
| Jul 17, 2026 | PCR bias and amplification efficiency | R, metabarcoding, diet analysis, compositional data, ecology tutorial, ggplot2 |
| Jul 16, 2026 | Metabarcoding reads as compositional data | R, metabarcoding, diet analysis, compositional data, ecology tutorial, ggplot2 |
| Jul 16, 2026 | Checking a presence-only model | R, MaxEnt, species distributions, presence-only, model diagnostics, ecology tutorial, ggplot2 |
| Jul 16, 2026 | Sampling bias in presence-only models | R, MaxEnt, species distributions, presence-only, sampling bias, ecology tutorial, ggplot2 |
| Jul 16, 2026 | Regularisation and features in MaxEnt | R, MaxEnt, species distributions, regularisation, presence-only, ecology tutorial, ggplot2 |
| Jul 16, 2026 | MaxEnt as a Poisson point process | R, MaxEnt, species distributions, point process, presence-only, ecology tutorial, ggplot2 |
| Jul 16, 2026 | Choosing a decision threshold from costs | R, machine learning, model evaluation, conservation, ecology tutorial, ggplot2 |
| Jul 16, 2026 | Data leakage in ecological model validation | R, machine learning, model evaluation, model diagnostics, ecology tutorial, ggplot2 |
| Jul 15, 2026 | Calibrating predicted probabilities in R | R, machine learning, model evaluation, forecasting, ecology tutorial, ggplot2 |
| Jul 15, 2026 | Class imbalance in species presence models | R, machine learning, model evaluation, species distributions, ecology tutorial, ggplot2 |
| Jul 15, 2026 | Checking an acoustic monitoring analysis | R, bioacoustics, acoustic monitoring, model diagnostics, ecology tutorial, ggplot2 |
| Jul 15, 2026 | Call rates and density from acoustic surveys | R, bioacoustics, acoustic monitoring, abundance, imperfect detection, ecology tutorial, ggplot2 |
| Jul 15, 2026 | Score thresholds and precision in bioacoustics | R, bioacoustics, acoustic monitoring, model evaluation, ROC, ecology tutorial, ggplot2 |
| Jul 15, 2026 | Automated acoustic detections as data | R, bioacoustics, acoustic monitoring, imperfect detection, ecology tutorial, ggplot2 |
| Jul 14, 2026 | Checking a genetic clustering analysis | R, population genetics, model diagnostics, ecology tutorial, ggplot2 |
| Jul 14, 2026 | Assignment tests and self-assignment | R, population genetics, ecology tutorial, ggplot2 |
| Jul 14, 2026 | Choosing K in genetic clustering | R, population genetics, model selection, ecology tutorial, ggplot2 |
| Jul 14, 2026 | Admixture and ancestry proportions in R | R, population genetics, clustering, ecology tutorial, ggplot2 |
| Jul 14, 2026 | Checking an eDNA occupancy analysis | R, eDNA, occupancy, model diagnostics, ecology tutorial, ggplot2 |
| Jul 14, 2026 | Sampling design for eDNA surveys | R, eDNA, occupancy, survey design, ecology tutorial, ggplot2 |
| Jul 14, 2026 | False positives in eDNA surveys | R, eDNA, occupancy, imperfect detection, ecology tutorial, ggplot2 |
| Jul 13, 2026 | Three-level occupancy models for eDNA | R, eDNA, occupancy, imperfect detection, ecology tutorial, ggplot2 |
| Jul 13, 2026 | Checking a conservation prioritisation | R, conservation planning, model diagnostics, ecology tutorial, ggplot2 |
| Jul 13, 2026 | Compactness in reserve design | R, conservation planning, optimisation, ecology tutorial, ggplot2 |
| Jul 13, 2026 | Conservation costs and return on investment | R, conservation planning, biodiversity, ecology tutorial, ggplot2 |
| Jul 13, 2026 | Complementarity and reserve selection | R, conservation planning, biodiversity, ecology tutorial, ggplot2 |
| Jul 13, 2026 | Checking a landscape genetics analysis | R, landscape genetics, model diagnostics, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Optimising a resistance surface | R, landscape genetics, model selection, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Multiple matrix regression with MMRR | R, landscape genetics, hypothesis testing, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Isolation by distance and by resistance | R, landscape genetics, population genetics, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Checking a connectivity analysis | R, landscape ecology, GIS, model diagnostics, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Circuit theory and effective resistance | R, landscape ecology, GIS, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Least-cost paths and resistance surfaces | R, landscape ecology, GIS, ecology tutorial, ggplot2 |
| Jul 12, 2026 | Patch metrics and fragmentation in R | R, landscape ecology, GIS, ecology tutorial, ggplot2 |
| Jul 11, 2026 | Checking a coalescent analysis | R, population genetics, model diagnostics, ecology tutorial, ggplot2 |
| Jul 11, 2026 | Tajima’s D and the frequency spectrum | R, population genetics, ecology tutorial, ggplot2 |
| Jul 11, 2026 | Nucleotide diversity and Watterson theta | R, population genetics, ecology tutorial, ggplot2 |
| Jul 11, 2026 | The coalescent and gene trees | R, population genetics, ecology tutorial, ggplot2 |
| Jul 11, 2026 | Checking an effective size estimate | R, population genetics, model diagnostics, ecology tutorial, ggplot2 |
| Jul 11, 2026 | Bottlenecks and genetic diversity | R, population genetics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | Estimating Ne from genetic data | R, population genetics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | Effective population size in R | R, population genetics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | Checking a population genetics analysis | R, population genetics, model diagnostics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | Drift, migration and isolation by distance | R, population genetics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | F-statistics and population structure | R, population genetics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | Hardy-Weinberg expectations in R | R, population genetics, ecology tutorial, ggplot2 |
| Jul 10, 2026 | Checking a finite population model | evolutionary ecology, evolutionary game theory, model diagnostics, R, ecology tutorial |
| Jul 9, 2026 | Adaptive dynamics and evolutionary branching | evolutionary ecology, evolutionary game theory, population dynamics, R, ecology tutorial |
| Jul 9, 2026 | Evolutionary games in finite populations | evolutionary ecology, evolutionary game theory, natural selection, R, ecology tutorial |
| Jul 9, 2026 | The Moran process and fixation probability | evolutionary ecology, population dynamics, natural selection, R, ecology tutorial |
| Jul 9, 2026 | Checking a spatial cooperation model | evolutionary ecology, evolutionary game theory, model diagnostics, spatial ecology, R, ecology tutorial |
| Jul 9, 2026 | Multilevel selection and group structure | evolutionary ecology, evolutionary game theory, R, ecology tutorial |
| Jul 9, 2026 | Update rules and cooperation on graphs | evolutionary ecology, evolutionary game theory, spatial ecology, R, ecology tutorial |
| Jul 8, 2026 | Network reciprocity on a lattice | evolutionary ecology, evolutionary game theory, spatial ecology, R, ecology tutorial |
| Jul 8, 2026 | Checking a reputation model | evolutionary ecology, evolutionary game theory, model diagnostics, R, ecology tutorial |
| Jul 8, 2026 | Public and private reputation | evolutionary ecology, evolutionary game theory, social evolution, R, ecology tutorial |
| Jul 8, 2026 | Assessment rules for reputation | evolutionary ecology, evolutionary game theory, social evolution, R, ecology tutorial |
| Jul 8, 2026 | Indirect reciprocity and reputation | evolutionary ecology, evolutionary game theory, social evolution, R, ecology tutorial |
| Jul 8, 2026 | Checking a reciprocity model | evolutionary ecology, evolutionary game theory, model diagnostics, R, ecology tutorial |
| Jul 8, 2026 | Strategies in the iterated game | evolutionary ecology, evolutionary game theory, social evolution, R, ecology tutorial |
| Jul 7, 2026 | Direct reciprocity and tit-for-tat | evolutionary ecology, evolutionary game theory, social evolution, R, ecology tutorial |
| Jul 7, 2026 | The prisoner’s dilemma in R | evolutionary ecology, evolutionary game theory, social evolution, R, ecology tutorial |
| Jul 7, 2026 | Checking a kin selection analysis | evolutionary ecology, social evolution, model diagnostics, R, ecology tutorial |
| Jul 7, 2026 | Relatedness as a regression | evolutionary ecology, social evolution, quantitative genetics, R, ecology tutorial |
| Jul 7, 2026 | Hamilton’s rule and kin selection | evolutionary ecology, social evolution, natural selection, R, ecology tutorial |
| Jul 7, 2026 | The Price equation in R | evolutionary ecology, social evolution, quantitative genetics, R, ecology tutorial |
| Jul 6, 2026 | Checking a game theory model | evolutionary ecology, evolutionary game theory, model diagnostics, R, ecology tutorial |
| Jul 6, 2026 | Sex ratio evolution and the ESS | evolutionary ecology, evolutionary game theory, sex allocation, R, ecology tutorial |
| Jul 6, 2026 | The replicator equation in R | evolutionary ecology, evolutionary game theory, population dynamics, R, ecology tutorial |
| Jul 6, 2026 | The hawk-dove game and the ESS | evolutionary ecology, evolutionary game theory, natural selection, R, ecology tutorial |
| Jul 6, 2026 | Checking a selection analysis | evolutionary ecology, quantitative genetics, natural selection, model diagnostics, R, ecology tutorial |
| Jul 6, 2026 | The multivariate breeder’s equation | evolutionary ecology, quantitative genetics, natural selection, R, ecology tutorial |
| Jul 6, 2026 | The breeder’s equation in R | evolutionary ecology, quantitative genetics, heritability, natural selection, R, ecology tutorial |
| Jul 5, 2026 | Selection differentials and gradients in R | evolutionary ecology, quantitative genetics, natural selection, R, ecology tutorial |
| Jul 5, 2026 | Checking an epidemic model | ecology tutorial, R, disease ecology, model diagnostics, theoretical ecology |
| Jul 5, 2026 | R0 and herd immunity | ecology tutorial, R, disease ecology, theoretical ecology, population models |
| Jul 5, 2026 | Host density and endemic disease | ecology tutorial, R, disease ecology, population models, theoretical ecology |
| Jul 5, 2026 | The SIR epidemic model | ecology tutorial, R, disease ecology, population models, theoretical ecology |
| Jul 5, 2026 | Checking for alternative stable states | ecology tutorial, R, community ecology, model diagnostics, theoretical ecology |
| Jul 4, 2026 | Hysteresis and tipping points | ecology tutorial, R, theoretical ecology, population models, community ecology |
| Jul 4, 2026 | Basins of attraction and the separatrix | ecology tutorial, R, community ecology, theoretical ecology, coexistence |
| Jul 4, 2026 | Priority effects and alternative stable states | ecology tutorial, R, community ecology, coexistence, theoretical ecology |
| Jul 4, 2026 | Checking a storage-effect analysis | ecology tutorial, R, community ecology, coexistence, model diagnostics |
| Jul 4, 2026 | Relative nonlinearity of competition | ecology tutorial, R, community ecology, coexistence, theoretical ecology |
| Jul 4, 2026 | Partitioning the invasion growth rate | ecology tutorial, R, community ecology, coexistence, theoretical ecology |
| Jul 4, 2026 | The storage effect and coexistence | ecology tutorial, R, community ecology, coexistence, biodiversity |
| Jul 3, 2026 | Checking a CNDD analysis | ecology tutorial, R, community ecology, model diagnostics, plant ecology |
| Jul 3, 2026 | Rare-species advantage and coexistence | ecology tutorial, R, community ecology, coexistence, biodiversity |
| Jul 3, 2026 | Conspecific negative density dependence | ecology tutorial, R, community ecology, coexistence, plant ecology |
| Jul 3, 2026 | Janzen-Connell and tree diversity | ecology tutorial, R, community ecology, biodiversity, coexistence |
| Jul 3, 2026 | Checking an ideal free analysis | ecology tutorial, R, habitat selection, model diagnostics, behaviour |
| Jul 3, 2026 | Input matching and undermatching | ecology tutorial, R, foraging, behaviour, habitat selection |
| Jul 3, 2026 | Density-dependent habitat selection | ecology tutorial, R, habitat selection, behaviour, population ecology |
| Jul 2, 2026 | The ideal free distribution | ecology tutorial, R, foraging, behaviour, habitat selection |
| Jul 2, 2026 | Checking a source-sink analysis | ecology tutorial, R, population ecology, model diagnostics, conservation |
| Jul 2, 2026 | Why sinks hold high density | ecology tutorial, R, population ecology, conservation, habitat selection |
| Jul 2, 2026 | Ecological traps and pseudo-sinks | ecology tutorial, R, population ecology, conservation, habitat selection |
| Jul 2, 2026 | Source-sink population dynamics | ecology tutorial, R, population ecology, conservation, metapopulations |
| Jul 2, 2026 | Checking a life-history analysis | ecology tutorial, R, life history, model diagnostics, evolutionary ecology |
| Jul 1, 2026 | The optimal germination fraction | ecology tutorial, R, life history, evolutionary ecology, plant ecology |
| Jul 1, 2026 | Bet-hedging and geometric mean fitness | ecology tutorial, R, life history, evolutionary ecology, bet-hedging |
| Jul 1, 2026 | Life-history trade-offs in R | ecology tutorial, R, life history, evolutionary ecology, population ecology |
| Jul 1, 2026 | Checking an Allee analysis | ecology tutorial, R, population ecology, model diagnostics, conservation |
| Jul 1, 2026 | Component and demographic Allee effects | ecology tutorial, R, population ecology, behaviour, conservation |
| Jul 1, 2026 | Allee effects and extinction risk | ecology tutorial, R, population ecology, conservation, extinction |
| Jul 1, 2026 | Allee effects and thresholds in R | ecology tutorial, R, population ecology, conservation, population dynamics |
| Jun 30, 2026 | Checking a foraging analysis | ecology tutorial, R, foraging, model diagnostics, behaviour |
| Jun 30, 2026 | Functional responses in R | ecology tutorial, R, foraging, species interactions, predation |
| Jun 30, 2026 | Diet choice and the zero-one rule | ecology tutorial, R, foraging, behaviour, species interactions |
| Jun 30, 2026 | The marginal value theorem | ecology tutorial, R, foraging, behaviour, optimisation |
| Jun 30, 2026 | Checking a thermal performance analysis | ecology tutorial, R, thermal ecology, model diagnostics, physiology |
| Jun 30, 2026 | Thermal safety margins and warming | ecology tutorial, R, thermal ecology, climate change, biogeography |
| Jun 29, 2026 | Jensen’s inequality and thermal variability | ecology tutorial, R, thermal ecology, climate change, physiology |
| Jun 29, 2026 | Thermal performance curves in R | ecology tutorial, R, thermal ecology, climate change, physiology |
| Jun 29, 2026 | Checking a biodiversity-function analysis | ecology tutorial, R, biodiversity, ecosystem function, community ecology, model diagnostics |
| Jun 29, 2026 | Partitioning the net biodiversity effect | ecology tutorial, R, biodiversity, ecosystem function, community ecology |
| Jun 29, 2026 | Complementarity and selection effects | ecology tutorial, R, biodiversity, ecosystem function, community ecology |
| Jun 29, 2026 | Biodiversity and ecosystem function in R | ecology tutorial, R, biodiversity, ecosystem function, community ecology |
| Jun 29, 2026 | Checking a joint species distribution model | R, JSDM, community ecology, ecology tutorial, ggplot2 |
| Jun 28, 2026 | Co-occurrence is not interaction | R, JSDM, community ecology, ecology tutorial, ggplot2 |
| Jun 28, 2026 | Latent variables and species correlations | R, JSDM, community ecology, ecology tutorial, ggplot2 |
| Jun 28, 2026 | Joint species distribution models in R | R, JSDM, community ecology, ecology tutorial, ggplot2 |
| Jun 28, 2026 | Checking an allometric analysis | R, allometry, body size, model diagnostics, ecology tutorial |
| Jun 28, 2026 | Testing isometry and comparing slopes | R, allometry, body size, hypothesis testing, ecology tutorial |
| Jun 28, 2026 | SMA or OLS for a scaling exponent? | R, allometry, body size, measurement error, regression, ecology tutorial |
| Jun 27, 2026 | Allometry and log-log regression in R | R, allometry, body size, regression, ecology tutorial |
| Jun 27, 2026 | Checking an adaptive sampling design | R, adaptive sampling, survey design, model checking, ecology tutorial |
| Jun 27, 2026 | When does adaptive sampling pay? | R, adaptive sampling, survey design, abundance, ecology tutorial |
| Jun 27, 2026 | Horvitz-Thompson for adaptive samples | R, adaptive sampling, survey design, abundance, ecology tutorial |
| Jun 27, 2026 | Adaptive cluster sampling in R | R, adaptive sampling, survey design, abundance, ecology tutorial |
| Jun 27, 2026 | Checking a stratified design | R, survey design, model checking, ecology tutorial |
| Jun 27, 2026 | Two-phase sampling when strata are unknown | R, survey design, sampling, ecology tutorial |
| Jun 26, 2026 | Allocating survey effort across strata | R, survey design, sampling, ecology tutorial |
| Jun 26, 2026 | Stratified random sampling in ecology | R, survey design, sampling, ecology tutorial |
| Jun 26, 2026 | Checking a monitoring design | R, survey design, monitoring, ecology tutorial |
| Jun 26, 2026 | Power to detect a population trend | R, survey design, monitoring, ecology tutorial |
| Jun 26, 2026 | Revisit designs for long-term monitoring | R, survey design, monitoring, ecology tutorial |
| Jun 26, 2026 | Variance components in monitoring data | R, survey design, monitoring, ecology tutorial |
| Jun 25, 2026 | Checking a survey design | R, survey design, model diagnostics, monitoring, ecology tutorial |
| Jun 25, 2026 | Unequal-probability spatial sampling | R, survey design, spatial statistics, monitoring, ecology tutorial |
| Jun 25, 2026 | Design-based variance and spatial balance | R, survey design, spatial statistics, monitoring, ecology tutorial |
| Jun 25, 2026 | Spatially balanced sampling with GRTS | R, survey design, spatial statistics, monitoring, ecology tutorial |
| Jun 25, 2026 | Checking a forecast evaluation | R, forecasting, model evaluation, model diagnostics, ecology tutorial |
| Jun 25, 2026 | Forecast skill and the baseline | R, forecasting, model evaluation, ecology tutorial |
| Jun 25, 2026 | The CRPS and the Brier score | R, forecasting, model evaluation, ecology tutorial |
| Jun 24, 2026 | Scoring ecological forecasts | R, forecasting, model evaluation, ecology tutorial |
| Jun 24, 2026 | Checking a niche comparison | R, niche overlap, model checking, species distribution models, ecology tutorial |
| Jun 24, 2026 | Niche overlap and the background | R, niche overlap, species distribution models, biogeography, ecology tutorial |
| Jun 24, 2026 | Niche equivalency and similarity tests | R, niche overlap, hypothesis testing, species distribution models, ecology tutorial |
| Jun 24, 2026 | Niche overlap: Schoener’s D and Warren’s I | R, niche overlap, species distribution models, ecology tutorial |
| Jun 24, 2026 | Checking a multi-model analysis | R, multimodel inference, model averaging, model checking, ggplot2, ecology tutorial |
| Jun 23, 2026 | Model-averaged coefficients: a caution | R, multimodel inference, model averaging, collinearity, ggplot2, ecology tutorial |
| Jun 23, 2026 | Model-averaged predictions | R, multimodel inference, model averaging, prediction, ggplot2, ecology tutorial |
| Jun 23, 2026 | Akaike weights and evidence ratios | R, multimodel inference, model averaging, AIC, ggplot2, ecology tutorial |
| Jun 23, 2026 | Checking a dispersal kernel | R, dispersal, seed dispersal, model checking, ecology tutorial |
| Jun 23, 2026 | The mean dispersal distance | R, dispersal, seed dispersal, statistics, ecology tutorial |
| Jun 23, 2026 | Fat-tailed dispersal kernels | R, dispersal, seed dispersal, population ecology, ecology tutorial |
| Jun 23, 2026 | Fitting dispersal kernels in R | R, dispersal, seed dispersal, spatial ecology, ecology tutorial |
| Jun 22, 2026 | Checking a phenology analysis | R, phenology, model checking, ggplot2, ecology tutorial |
| Jun 22, 2026 | Phenological trends and temperature | R, phenology, climate change, ggplot2, ecology tutorial |
| Jun 22, 2026 | First flowering dates and sampling effort | R, phenology, extreme values, ggplot2, ecology tutorial |
| Jun 22, 2026 | Phenology in R: day of year and event timing | R, phenology, ggplot2, ecology tutorial |
| Jun 22, 2026 | Checking a food web analysis | R, food webs, model checking, community ecology, ecology tutorial |
| Jun 22, 2026 | Stability and complexity in food webs | R, food webs, stability, community ecology, ecology tutorial |
| Jun 21, 2026 | The niche model of food webs | R, food webs, ecological networks, community ecology, ecology tutorial |
| Jun 21, 2026 | Food web structure: connectance and trophic level | R, food webs, ecological networks, community ecology, ecology tutorial |
| Jun 21, 2026 | Checking a metapopulation model | R, metapopulation, spatial ecology, model checking, ecology tutorial |
| Jun 21, 2026 | Metapopulation capacity | R, metapopulation, spatial ecology, conservation, ecology tutorial |
| Jun 21, 2026 | The incidence function model | R, metapopulation, spatial ecology, imperfect detection, ecology tutorial |
| Jun 21, 2026 | The Levins metapopulation model | R, metapopulation, population dynamics, ecology tutorial |
| Jun 21, 2026 | Checking a coexistence analysis | R, coexistence, competition, model checking, ecology tutorial |
| Jun 20, 2026 | Assumptions behind coexistence | R, coexistence, competition, model checking, ecology tutorial |
| Jun 20, 2026 | Niche and fitness differences | R, coexistence, competition, population ecology, ecology tutorial |
| Jun 20, 2026 | Fitting annual plant competition models | R, competition, coexistence, population ecology, ecology tutorial |
| Jun 20, 2026 | Checking a stable isotope mixing model | R, stable isotopes, Bayesian statistics, diet, model checking, ecology tutorial |
| Jun 20, 2026 | Discrimination and concentration in mixing models | R, stable isotopes, diet, food web, ecology tutorial |
| Jun 20, 2026 | Bayesian stable isotope mixing models | R, stable isotopes, Bayesian statistics, diet, MCMC, ecology tutorial |
| Jun 20, 2026 | Stable isotope mixing models in R | R, stable isotopes, diet, food web, ecology tutorial |
| Jun 19, 2026 | Checking a social network analysis | R, social networks, model checking, animal behaviour, ecology tutorial |
| Jun 19, 2026 | Network centrality and sampling effort | R, social networks, network centrality, animal behaviour, ecology tutorial |
| Jun 19, 2026 | Permutation tests for social networks | R, social networks, permutation tests, null models, ecology tutorial |
| Jun 19, 2026 | Association indices for social networks | R, social networks, animal behaviour, association index, ecology tutorial |
| Jun 19, 2026 | From a field sheet to your first analysis | R, dplyr, tidyr, ecology tutorial |
| Jun 19, 2026 | Joining ecological tables without losing zeros | R, dplyr, data wrangling, ecology tutorial |
| Jun 18, 2026 | Summarising ecological data by group | R, dplyr, data wrangling, ecology tutorial |
| Jun 18, 2026 | Setting up R and RStudio for ecology | R, RStudio, reproducibility, ecology tutorial |
| Jun 18, 2026 | Your first ggplot: data, aes and geom | R, ggplot2, data visualisation, ecology tutorial |
| Jun 18, 2026 | Cleaning species names before you count | R, data import, community ecology, biodiversity, ecology tutorial |
| Jun 18, 2026 | Wide and long: reshaping species data | R, data import, community ecology, ecology tutorial, tidyr |
| Jun 18, 2026 | Reading field data into R | R, data import, missing data, ecology tutorial, vegan |
| Jun 18, 2026 | Mark resight abundance estimation in R | R, abundance, capture-recapture, imperfect detection, ecology tutorial |
| Jun 17, 2026 | Density surface models for distance sampling | R, distance sampling, abundance, imperfect detection, ecology tutorial |
| Jun 17, 2026 | Double constrained correspondence analysis in R | R, ordination, functional traits, community ecology, ecology tutorial |
| Jun 17, 2026 | RLQ analysis in R: traits, sites and environment | R, ordination, functional traits, community ecology, ecology tutorial |
| Jun 17, 2026 | Checking a trait environment analysis | R, traits, functional ecology, community ecology, model diagnostics, ecology tutorial |
| Jun 17, 2026 | Intraspecific trait variability in R | R, traits, functional ecology, community ecology, ecology tutorial |
| Jun 17, 2026 | Community weighted means in R | R, traits, functional ecology, community ecology, ecology tutorial |
| Jun 16, 2026 | Checking a beta diversity analysis | R, beta diversity, biodiversity, model checking, ecology tutorial |
| Jun 16, 2026 | Beta diversity as variance: LCBD and SCBD | R, beta diversity, LCBD, biodiversity, ecology tutorial |
| Jun 16, 2026 | Zeta diversity in R: beyond pairwise turnover | R, beta diversity, zeta diversity, biodiversity, ecology tutorial |
| Jun 16, 2026 | Multiplicative beta diversity with Hill numbers | R, beta diversity, biodiversity, Hill numbers, ecology tutorial |
| Jun 16, 2026 | Checking a camera trap density estimate | R, camera traps, abundance, ecology tutorial |
| Jun 16, 2026 | Staying time and the REST model in R | R, camera traps, abundance, movement ecology, ecology tutorial |
| Jun 16, 2026 | Measuring animal speed from camera traps | R, camera traps, movement ecology, ecology tutorial |
| Jun 15, 2026 | Camera trap density: the random encounter model | R, camera traps, abundance, movement ecology, ecology tutorial |
| Jun 15, 2026 | Checking a neutral model fit | R, neutral theory, model checking, likelihood, ecology tutorial |
| Jun 15, 2026 | The exact Ewens test: is your SAD neutral? | R, neutral theory, species abundance, hypothesis testing, ecology tutorial |
| Jun 15, 2026 | Dispersal limitation: fitting theta and m in R | R, neutral theory, biodiversity, dispersal, likelihood, ecology tutorial |
| Jun 15, 2026 | Neutral theory in R: theta and the Ewens formula | R, neutral theory, biodiversity, species abundance, ecology tutorial |
| Jun 15, 2026 | Checking a community phylogenetics analysis | R, community phylogenetics, model checking, ggplot2, ecology tutorial |
| Jun 14, 2026 | Phylogenetic beta diversity: UniFrac and PhyloSor | R, community phylogenetics, beta diversity, ape, ecology tutorial |
| Jun 14, 2026 | Null models for phylogenetic community structure | R, community phylogenetics, null models, ggplot2, ecology tutorial |
| Jun 14, 2026 | Phylogenetic community structure: NRI and NTI in R | R, community phylogenetics, biodiversity, ggplot2, ecology tutorial |
| Jun 14, 2026 | Checking an ABC analysis | R, stats, model checking, ecology tutorial |
| Jun 14, 2026 | ABC-MCMC and sequential ABC samplers | R, stats, ggplot2, ecology tutorial |
| Jun 14, 2026 | Choosing summary statistics for ABC | R, approximate Bayesian computation, simulation, ecology tutorial |
| Jun 14, 2026 | Approximate Bayesian computation from scratch | R, approximate Bayesian computation, simulation, ecology tutorial |
| Jun 13, 2026 | Checking a wavelet analysis | R, wavelets, time series, model checking, ecology tutorial |
| Jun 13, 2026 | Wavelet coherence and phase | R, wavelets, time series, species interactions, ecology tutorial |
| Jun 13, 2026 | Wavelet significance and the red noise null | R, wavelets, time series, hypothesis testing, ecology tutorial |
| Jun 13, 2026 | Wavelet analysis of population cycles | R, wavelets, time series, spectral analysis, ecology tutorial |
| Jun 13, 2026 | Checking a distance sampling model | R, distance sampling, model checking, abundance, ecology tutorial |
| Jun 13, 2026 | Hierarchical distance sampling | R, distance sampling, abundance, imperfect detection, ecology tutorial |
| Jun 12, 2026 | Point transect distance sampling | R, distance sampling, imperfect detection, abundance, ecology tutorial |
| Jun 12, 2026 | Covariates in the detection function | R, distance sampling, imperfect detection, abundance, ecology tutorial |
| Jun 12, 2026 | Checking an open-population model | R, capture-recapture, model diagnostics, population ecology, ecology tutorial |
| Jun 12, 2026 | The robust design and temporary emigration | R, capture-recapture, abundance, population ecology, ecology tutorial |
| Jun 12, 2026 | Pradel seniority: growth rate from reverse time | R, capture-recapture, population growth, population ecology, ecology tutorial |
| Jun 12, 2026 | Jolly-Seber and POPAN: abundance from marks | R, capture-recapture, abundance, population ecology, ecology tutorial |
| Jun 12, 2026 | Checking an occupancy variant | R, occupancy, imperfect detection, model checking, ecology tutorial |
| Jun 11, 2026 | False positives in occupancy models | R, occupancy, imperfect detection, ecology tutorial |
| Jun 11, 2026 | Two-species occupancy and interactions | R, occupancy, imperfect detection, species interactions, ecology tutorial |
| Jun 11, 2026 | The Royle-Nichols model: abundance from detections | R, occupancy, imperfect detection, abundance, ecology tutorial |
| Jun 11, 2026 | Checking a MAR(1) model | R, MAR models, model diagnostics, time series, ecology tutorial |
| Jun 11, 2026 | Community stability from a MAR(1) model | R, MAR models, stability, community ecology, ecology tutorial |
| Jun 11, 2026 | Interaction strengths from community time series | R, MAR models, time series, species interactions, ecology tutorial |
| Jun 10, 2026 | Fitting a MAR(1) model to community time series | R, MAR models, time series, community ecology, ecology tutorial |
| Jun 10, 2026 | Checking an empirical dynamic model | R, EDM, causality, model checking, ecology tutorial |
| Jun 10, 2026 | Convergent cross mapping in ecology | R, EDM, causality, time series, ecology tutorial |
| Jun 10, 2026 | The S-map and state-dependent dynamics | R, EDM, time series, nonlinear dynamics, ecology tutorial |
| Jun 10, 2026 | Simplex projection and delay embedding | R, EDM, time series, nonlinear dynamics, ecology tutorial |
| Jun 10, 2026 | Checking a network analysis | R, ecological networks, species interactions, ggplot2, ecology tutorial |
| Jun 10, 2026 | Null models for interaction networks | R, ecological networks, species interactions, ggplot2, ecology tutorial |
| Jun 9, 2026 | Modularity in ecological networks | R, ecological networks, species interactions, ggplot2, ecology tutorial |
| Jun 9, 2026 | Bipartite network metrics from scratch | R, ecological networks, species interactions, ggplot2, ecology tutorial |
| Jun 9, 2026 | Checking a survival model | R, survival analysis, model checking, ecology tutorial |
| Jun 9, 2026 | Frailty and recurrent event models | R, survival analysis, ecology tutorial |
| Jun 9, 2026 | Parametric survival and the AFT model | R, survival analysis, ecology tutorial |
| Jun 9, 2026 | Competing risks and cumulative incidence | R, survival analysis, competing risks, ecology tutorial |
| Jun 8, 2026 | Checking an N-mixture model | R, abundance, imperfect detection, model checking, ecology tutorial |
| Jun 8, 2026 | N-mixture reliability and the detection trade-off | R, abundance, imperfect detection, model checking, ecology tutorial |
| Jun 8, 2026 | Checking a circular analysis | R, circular statistics, model checking, ecology tutorial, ggplot2 |
| Jun 8, 2026 | Activity patterns and temporal overlap | R, circular statistics, camera traps, ecology tutorial, ggplot2 |
| Jun 8, 2026 | Testing for circular uniformity | R, circular statistics, hypothesis testing, ecology tutorial, ggplot2 |
| Jun 8, 2026 | Circular data and the von Mises distribution | R, circular statistics, directional data, ecology tutorial, ggplot2 |
| Jun 8, 2026 | Checking an extreme value model | R, extreme value theory, statistics, ecology tutorial |
| Jun 7, 2026 | Return levels and uncertainty | R, extreme value theory, statistics, ecology tutorial |
| Jun 7, 2026 | Peaks over threshold and the GPD | R, extreme value theory, statistics, ecology tutorial |
| Jun 7, 2026 | Block maxima and the GEV distribution | R, extreme value theory, statistics, ecology tutorial |
| Jun 7, 2026 | Checking a bootstrap: when resampling fails | R, resampling, statistics, ecology tutorial |
| Jun 7, 2026 | Bootstrapping dependent data: blocks and clusters | R, resampling, time series, ecology tutorial |
| Jun 7, 2026 | The parametric bootstrap and a boundary problem | R, resampling, GLM, ecology tutorial |
| Jun 7, 2026 | The nonparametric bootstrap from scratch | R, resampling, statistics, ecology tutorial |
| Jun 6, 2026 | Checking early warning signals | early warning signals, time series, R, resilience, ecology tutorial |
| Jun 6, 2026 | Spatial early warning signals | early warning signals, spatial statistics, R, resilience, ecology tutorial |
| Jun 6, 2026 | Detrending and bandwidth in early warning signals | early warning signals, time series, R, resilience, ecology tutorial |
| Jun 6, 2026 | Early warning signals and critical slowing | early warning signals, time series, R, population dynamics, ecology tutorial |
| Jun 6, 2026 | Checking a time series model | R, time series, model checking, ecology tutorial |
| Jun 6, 2026 | Spectral analysis of population cycles | R, time series, spectral analysis, ecology tutorial |
| Jun 5, 2026 | Fitting ARIMA models to ecological time series | R, time series, forecasting, ecology tutorial |
| Jun 5, 2026 | Temporal autocorrelation and effective sample size | R, time series, autocorrelation, ecology tutorial |
| Jun 5, 2026 | Checking a spatial regression | spatial, regression, model checking, diagnostics, ecology tutorial |
| Jun 5, 2026 | Moran eigenvector spatial filtering | spatial, regression, autocorrelation, GLM, ecology tutorial |
| Jun 5, 2026 | Conditional autoregressive (CAR) models | spatial, regression, autocorrelation, areal data, ecology tutorial |
| Jun 5, 2026 | Spatial lag and spatial error models (SAR) | spatial, regression, autocorrelation, areal data, ecology tutorial |
| Jun 5, 2026 | Checking a bounded-response model | R, ecology tutorial, regression, model checking |
| Jun 4, 2026 | Tweedie regression for biomass and cover with zeros | R, ecology tutorial, regression, GLM |
| Jun 4, 2026 | Ordinal regression for ordered cover classes | R, ecology tutorial, regression, GLM |
| Jun 4, 2026 | Beta regression for proportion and cover data | R, ecology tutorial, regression, GLM, proportions |
| Jun 4, 2026 | Checking a model-based multivariate model | R, community ecology, model diagnostics, multivariate, ecology tutorial |
| Jun 4, 2026 | Fourth-corner trait-environment analysis | R, community ecology, functional ecology, traits, ecology tutorial |
| Jun 4, 2026 | Model-based unconstrained ordination | R, community ecology, multivariate, ordination, ecology tutorial |
| Jun 3, 2026 | Model-based multivariate abundance | R, community ecology, multivariate, ecology tutorial |
| Jun 3, 2026 | Checking predictive calibration and coverage | R, prediction, model checking, ecology tutorial |
| Jun 3, 2026 | Conformal prediction intervals from scratch | R, prediction, uncertainty, ecology tutorial |
| Jun 3, 2026 | Local regression from scratch | R, regression, nonparametric, ecology tutorial |
| Jun 3, 2026 | Gaussian process regression from scratch | R, regression, Gaussian processes, ecology tutorial |
| Jun 3, 2026 | Checking a tree ensemble | R, regression, machine learning, ecology tutorial |
| Jun 3, 2026 | Boosted regression trees, by hand | R, regression, machine learning, ecology tutorial |
| Jun 2, 2026 | Bagging and random forests, by hand | R, regression, machine learning, ecology tutorial |
| Jun 2, 2026 | Regression trees and CART, by hand | R, regression, machine learning, ecology tutorial |
| Jun 2, 2026 | Checking a penalised regression | R, regression, regularisation, ecology tutorial |
| Jun 2, 2026 | Elastic net and cross-validation | R, regression, regularisation, ecology tutorial |
| Jun 2, 2026 | Lasso and variable selection | R, regression, regularisation, ecology tutorial |
| Jun 2, 2026 | Ridge regression for collinear predictors | R, regression, regularisation, ecology tutorial |
| Jun 1, 2026 | Checking a generalised additive model | GAMs, model checking, diagnostics, ecology tutorial |
| Jun 1, 2026 | Concurvity in additive models | GAMs, model checking, collinearity, ecology tutorial |
| Jun 1, 2026 | Choosing the basis dimension k in mgcv | GAMs, smoothing, model selection, ecology tutorial |
| Jun 1, 2026 | Penalised regression splines from scratch | GAMs, smoothing, regression, ecology tutorial |
| Jun 1, 2026 | Checking a quantile regression | quantile regression, model diagnostics, R, ecology tutorial, ggplot2 |
| Jun 1, 2026 | Distributional regression with location and scale | distributional regression, R, ecology tutorial, ggplot2 |
| Jun 1, 2026 | Heteroscedasticity and limiting factors | quantile regression, limiting factors, R, ecology tutorial, ggplot2 |
| May 31, 2026 | Quantile regression in ecology: beyond the mean | quantile regression, R, ecology tutorial, ggplot2 |
| May 31, 2026 | Checking a threshold model | R, model diagnostics, ecology tutorial, ggplot2 |
| May 31, 2026 | Threshold regression with a GLM | R, GLM, ecology tutorial, ggplot2 |
| May 31, 2026 | Testing for an ecological threshold | R, hypothesis testing, ecology tutorial, ggplot2 |
| May 31, 2026 | Segmented regression for a breakpoint | R, regression, ecology tutorial, ggplot2 |
| May 31, 2026 | Checking a nonlinear model | R, nonlinear regression, model checking, ecology tutorial |
| May 30, 2026 | Starting values and identifiability in nls | R, nonlinear regression, model fitting, ecology tutorial |
| May 30, 2026 | Fitting growth curves with nls | R, nonlinear regression, growth, ecology tutorial |
| May 30, 2026 | Nonlinear regression in R with nls | R, nonlinear regression, functional response, ecology tutorial |
| May 30, 2026 | Checking a diversity estimate | R, species richness, model diagnostics, ecology tutorial |
| May 30, 2026 | Estimating diversity with Hill numbers | R, diversity, biodiversity, ecology tutorial |
| May 30, 2026 | Coverage-based rarefaction and extrapolation | R, species richness, biodiversity, ecology tutorial |
| May 30, 2026 | Estimating species richness beyond your sample | R, species richness, biodiversity, ecology tutorial |
| May 29, 2026 | Checking a multiple-testing analysis | R, multiple testing, model diagnostics, ecology tutorial |
| May 29, 2026 | Dependence and the Benjamini-Yekutieli correction | R, multiple testing, false discovery rate, ecology tutorial |
| May 29, 2026 | The false discovery rate and Benjamini-Hochberg | R, multiple testing, false discovery rate, ecology tutorial |
| May 29, 2026 | Family-wise error and the Bonferroni correction | R, multiple testing, hypothesis testing, ecology tutorial |
| May 29, 2026 | Checking a compositional analysis | R, compositional data, ggplot2, reproducibility, ecology tutorial |
| May 29, 2026 | Compositional analysis and the zero problem | R, compositional data, ggplot2, simulation, ecology tutorial |
| May 28, 2026 | Log-ratio transformations: clr, alr and ilr | R, compositional data, ggplot2, ecology tutorial |
| May 28, 2026 | Closure and spurious correlation | R, compositional data, ggplot2, ecology tutorial |
| May 28, 2026 | Checking missing-data assumptions | R, missing data, simulation, ggplot2, ecology tutorial |
| May 28, 2026 | Multiple imputation by chained equations | R, missing data, simulation, ggplot2, ecology tutorial |
| May 28, 2026 | Single imputation: bias and variance | R, missing data, ggplot2, ecology tutorial |
| May 28, 2026 | Missing data: MCAR, MAR and MNAR | R, missing data, ggplot2, ecology tutorial |
| May 28, 2026 | Checking a measurement-error correction | R, ecology tutorial, regression, measurement error, reproducibility |
| May 27, 2026 | Correcting measurement error with SIMEX | R, ecology tutorial, regression, measurement error, simulation |
| May 27, 2026 | Errors-in-variables and Deming regression | R, ecology tutorial, regression, measurement error |
| May 27, 2026 | Measurement error and regression dilution | R, ecology tutorial, regression, measurement error, simulation |
| May 27, 2026 | Placebo tests for panel causal designs | causal inference, ecology tutorial, R |
| May 27, 2026 | The synthetic control method | causal inference, ecology tutorial, R |
| May 27, 2026 | Staggered adoption and two-way fixed effects | causal inference, ecology tutorial, R |
| May 26, 2026 | Event-study difference-in-differences | causal inference, ecology tutorial, R |
| May 26, 2026 | Sensitivity to unmeasured confounding | causal inference, R, ecology tutorial |
| May 26, 2026 | Propensity score matching | causal inference, R, ecology tutorial |
| May 26, 2026 | Doubly robust estimation with AIPW | causal inference, R, ecology tutorial |
| May 26, 2026 | G-computation and standardisation | causal inference, R, ecology tutorial |
| May 26, 2026 | Propensity scores and IPW | R, causal inference, ecology tutorial |
| May 26, 2026 | Regression discontinuity design | R, causal inference, ecology tutorial |
| May 25, 2026 | Instrumental variables and 2SLS | R, causal inference, ecology tutorial |
| May 25, 2026 | Checking causal assumptions | causal inference, R, ecology tutorial, regression, sensitivity analysis |
| May 25, 2026 | Before-after-control-impact designs | causal inference, R, ecology tutorial, experimental design, regression |
| May 25, 2026 | Collider bias and selection | causal inference, R, ecology tutorial, regression, DAGs |
| May 25, 2026 | Confounding and backdoor adjustment | causal inference, R, ecology tutorial, regression, DAGs |
| May 25, 2026 | Checking a structural equation model | R, structural equation models, model diagnostics, causal inference, ecology tutorial |
| May 25, 2026 | Mediation and bootstrapped indirect effects | R, structural equation models, mediation, bootstrap, ecology tutorial |
| May 24, 2026 | Piecewise SEM and the test of d-separation | R, structural equation models, model diagnostics, GLM, ecology tutorial |
| May 24, 2026 | Path analysis: direct, indirect, and total effects | R, structural equation models, regression, ecology tutorial |
| May 24, 2026 | Checking for publication bias | meta-analysis, ecology tutorial, R, publication bias |
| May 24, 2026 | Meta-regression with moderators | meta-analysis, ecology tutorial, R, meta-regression |
| May 24, 2026 | Heterogeneity in meta-analysis | meta-analysis, ecology tutorial, R, heterogeneity |
| May 24, 2026 | Random-effects meta-analysis in R | meta-analysis, ecology tutorial, R, effect size |
| May 23, 2026 | Checking an integrated SDM | data integration, model checking, species distribution, goodness of fit, ecology tutorial |
| May 23, 2026 | Spatial autocorrelation in occupancy models | occupancy, spatial statistics, autocorrelation, detection, ecology tutorial |
| May 23, 2026 | Multi-scale occupancy models in R | occupancy, detection, hierarchical models, monitoring, ecology tutorial |
| May 23, 2026 | Integrated species distribution models in R | species distribution, data integration, point process, occupancy, ecology tutorial |
| May 23, 2026 | Checking a community occupancy model | ecology tutorial, R, occupancy, hierarchical models, Bayesian statistics, MCMC, model diagnostics |
| May 23, 2026 | Community covariates and species traits | ecology tutorial, R, occupancy, hierarchical models, Bayesian statistics, MCMC, community ecology |
| May 23, 2026 | Species richness by data augmentation | ecology tutorial, R, occupancy, hierarchical models, Bayesian statistics, MCMC, biodiversity, species richness |
| May 22, 2026 | Multi-species occupancy models | ecology tutorial, R, occupancy, hierarchical models, Bayesian statistics, MCMC, community ecology |
| May 22, 2026 | Checking a dynamic occupancy model | occupancy, ecology tutorial, R, population dynamics |
| May 22, 2026 | Occupancy turnover and equilibrium | occupancy, ecology tutorial, R, population dynamics |
| May 22, 2026 | Covariates in dynamic occupancy models | occupancy, ecology tutorial, R, population dynamics |
| May 22, 2026 | Dynamic occupancy: colonisation and extinction | occupancy, ecology tutorial, R, population dynamics |
| May 22, 2026 | Checking multi-state models | R, capture-recapture, model checking, ecology tutorial |
| May 21, 2026 | Multi-event models for uncertain states | R, capture-recapture, population dynamics, ecology tutorial |
| May 21, 2026 | Estimating transition probabilities | R, capture-recapture, population dynamics, ecology tutorial |
| May 21, 2026 | Multi-state capture-recapture | R, capture-recapture, population dynamics, ecology tutorial |
| May 21, 2026 | Checking an integrated population model | R, population dynamics, capture-recapture, demography, ecology tutorial |
| May 21, 2026 | Demographic and environmental variance in an IPM | R, population dynamics, capture-recapture, demography, ecology tutorial |
| May 21, 2026 | Implicit information in integrated models | R, population dynamics, capture-recapture, demography, ecology tutorial |
| May 21, 2026 | Integrated population models from scratch | R, population dynamics, capture-recapture, demography, ecology tutorial |
| May 20, 2026 | Detection covariates and checking in SCR | R, capture-recapture, spatial, model diagnostics, ecology tutorial |
| May 20, 2026 | SCR sampling design and precision | R, capture-recapture, spatial, study design, ecology tutorial |
| May 20, 2026 | Bayesian spatial capture-recapture | R, capture-recapture, spatial, Bayesian statistics, MCMC, ecology tutorial |
| May 20, 2026 | Spatial capture-recapture from scratch | R, capture-recapture, spatial, abundance, ecology tutorial |
| May 20, 2026 | Bayesian closed capture-recapture | Bayesian statistics, MCMC, capture-recapture, R, ecology tutorial |
| May 20, 2026 | Bayesian state-space movement | Bayesian statistics, MCMC, movement ecology, R, ecology tutorial |
| May 19, 2026 | Bayesian N-mixture abundance | Bayesian statistics, MCMC, abundance, R, ecology tutorial |
| May 19, 2026 | Bayesian Cormack-Jolly-Seber survival | Bayesian statistics, MCMC, survival analysis, R, ecology tutorial |
| May 19, 2026 | Bayesian occupancy with latent-state MCMC | R, Bayesian statistics, MCMC, occupancy, ecology tutorial |
| May 19, 2026 | Bayesian logistic regression under separation | R, Bayesian statistics, MCMC, logistic regression, ecology tutorial |
| May 19, 2026 | Choosing priors: flat is not uninformative | R, Bayesian statistics, priors, MCMC, ecology tutorial |
| May 19, 2026 | Bayesian model comparison: WAIC, LOO, DIC | R, Bayesian statistics, MCMC, model selection, ecology tutorial |
| May 19, 2026 | Bayesian hierarchical models with MCMC | Bayesian statistics, MCMC, mixed models, R, ecology tutorial |
| May 18, 2026 | MCMC convergence diagnostics from scratch | Bayesian statistics, MCMC, model diagnostics, R, ecology tutorial |
| May 18, 2026 | Gibbs sampling with conjugate updates | Bayesian statistics, MCMC, R, ecology tutorial |
| May 18, 2026 | Metropolis-Hastings from scratch | Bayesian statistics, MCMC, R, survival, ecology tutorial |
| May 18, 2026 | Validating a step selection model | movement ecology, habitat selection, model diagnostics, R, ecology tutorial |
| May 18, 2026 | Availability sampling for step selection | movement ecology, habitat selection, R, ecology tutorial |
| May 18, 2026 | Integrated step selection analysis in R | movement ecology, habitat selection, R, ecology tutorial |
| May 17, 2026 | Step selection functions for animal movement | movement ecology, habitat selection, R, ecology tutorial |
| May 17, 2026 | Checking a state-space movement model | movement ecology, state-space models, model diagnostics, R, ecology tutorial |
| May 17, 2026 | A particle filter for animal movement | movement ecology, state-space models, particle filter, Bayesian statistics, R, ecology tutorial |
| May 17, 2026 | Regularising irregular animal tracks | movement ecology, state-space models, Kalman filter, R, ecology tutorial |
| May 17, 2026 | State-space models for animal movement | movement ecology, state-space models, Kalman filter, time series, R, ecology tutorial |
| May 17, 2026 | Checking a movement HMM | ecology tutorial, movement ecology, hidden Markov models |
| May 17, 2026 | Covariates in a movement HMM | ecology tutorial, movement ecology, hidden Markov models |
| May 16, 2026 | How many states in a movement HMM? | ecology tutorial, movement ecology, hidden Markov models |
| May 16, 2026 | Fitting a two-state movement HMM in R | ecology tutorial, movement ecology, hidden Markov models |
| May 16, 2026 | Life expectancy and passage time in an IPM | population dynamics, demography, integral projection models, R, ecology tutorial |
| May 16, 2026 | IPM sensitivity and elasticity | population dynamics, demography, integral projection models, R, ecology tutorial |
| May 16, 2026 | Eviction and mesh size in an IPM | population dynamics, demography, integral projection models, R, ecology tutorial |
| May 16, 2026 | Building an integral projection model | population dynamics, demography, integral projection models, R, ecology tutorial |
| May 15, 2026 | Correlated random walks and net displacement | R, movement ecology, random walk, simulation, ecology tutorial |
| May 15, 2026 | Resource selection functions in R | R, GLM, resource selection, movement ecology, ecology tutorial |
| May 15, 2026 | Step lengths and turning angles in R | R, MASS, movement ecology, telemetry, ecology tutorial |
| May 15, 2026 | Home ranges in R: MCP versus kernel density | R, MASS, home range, movement ecology, ecology tutorial |
| May 15, 2026 | The theta-logistic model in R | R, population dynamics, time series, density dependence, maximum likelihood, ecology tutorial |
| May 15, 2026 | Estimating population trends in R | R, population dynamics, time series, GAMs, mgcv, ecology tutorial |
| May 15, 2026 | Gompertz state-space model in R | R, population dynamics, time series, state-space models, density dependence, ecology tutorial |
| May 14, 2026 | Detecting density dependence in R | R, population dynamics, time series, density dependence, ecology tutorial |
| May 14, 2026 | Cormack-Jolly-Seber survival models in R | R, survival analysis, capture-recapture, ecology tutorial |
| May 14, 2026 | Nest survival with logistic exposure in R | R, survival analysis, nest survival, ecology tutorial |
| May 14, 2026 | Cox proportional hazards and the PH assumption | R, survival analysis, model diagnostics, ecology tutorial |
| May 14, 2026 | Kaplan-Meier survival curves and the log-rank test | R, survival analysis, demography, ecology tutorial |
| May 14, 2026 | Life table response experiments (LTRE) in R | R, population dynamics, matrix models, LTRE, ecology tutorial |
| May 13, 2026 | Transient dynamics of population matrix models | R, population dynamics, matrix models, transient dynamics, ecology tutorial |
| May 13, 2026 | Population viability analysis and extinction risk | R, population dynamics, conservation, extinction, ecology tutorial |
| May 13, 2026 | Stochastic population growth in variable environments | R, population dynamics, matrix models, stochasticity, ecology tutorial |
| May 13, 2026 | Sensitivity and elasticity of matrix models | R, population dynamics, matrix models, conservation, ecology tutorial |
| May 13, 2026 | Stage-structured Lefkovitch matrices in R | R, population dynamics, matrix models, stage structure, ecology tutorial |
| May 13, 2026 | Leslie matrix population models in R | R, population dynamics, demography, matrix models, ecology tutorial |
| May 13, 2026 | Life tables and population growth in R | R, population dynamics, demography, life tables, ecology tutorial |
| May 12, 2026 | Modelling inhomogeneous point patterns in R | R, spatial, point patterns, ecology tutorial |
| May 12, 2026 | Ripley’s K and the pair correlation function | R, spatial, point patterns, ecology tutorial |
| May 12, 2026 | Nearest-neighbour analysis and Clark-Evans in R | R, spatial, point patterns, ecology tutorial |
| May 12, 2026 | Complete spatial randomness and quadrat tests in R | R, spatial, point patterns, ecology tutorial |
| May 12, 2026 | Distance sampling for density in R | R, abundance, detection, ecology tutorial |
| May 12, 2026 | Closed-population capture-recapture in R | R, abundance, detection, ecology tutorial |
| May 12, 2026 | Removal and depletion sampling in R | R, abundance, detection, ecology tutorial |
| May 11, 2026 | N-mixture models for abundance in R | R, abundance, detection, N-mixture, ecology tutorial |
| May 11, 2026 | How many visits? Occupancy survey design | R, occupancy, experimental design, statistical power, ecology tutorial |
| May 11, 2026 | Occupancy and detection covariates in R | R, occupancy, GLM, prediction, ecology tutorial |
| May 11, 2026 | Fitting single-season occupancy models in R | R, occupancy, maximum likelihood, detection probability, ecology tutorial |
| May 11, 2026 | Imperfect detection and occupancy bias in R | R, occupancy, detection probability, GLM, ecology tutorial |
| May 11, 2026 | Spatial cross-validation for SDMs in R | R, SDM, cross-validation, spatial autocorrelation, mgcv, ecology tutorial |
| May 10, 2026 | Evaluating species distribution models in R | R, SDM, model evaluation, ROC, ecology tutorial |
| May 10, 2026 | Pseudo-absence and background points for SDMs | R, terra, SDM, sampling, ecology tutorial |
| May 10, 2026 | Species distribution modelling with GLM in R | R, terra, sf, SDM, GLM, ecology tutorial |
| May 10, 2026 | Ancestral state reconstruction in R | R, ape, phylogenetics, comparative methods, ecology tutorial |
| May 10, 2026 | Phylogenetic generalised least squares | R, ape, nlme, phylogenetics, comparative methods, ecology tutorial |
| May 10, 2026 | Independent contrasts: Felsenstein’s method | R, ape, nlme, phylogenetics, comparative methods, ecology tutorial |
| May 10, 2026 | Phylogenetic signal: Blomberg’s K and Pagel’s lambda | R, ape, nlme, phylogenetics, comparative methods, ecology tutorial |
| May 9, 2026 | Cleaning GBIF and iNaturalist records in R | R, sf, data cleaning, GBIF, ecology tutorial |
| May 9, 2026 | Species-area relationships in R | ecology tutorial, R, biogeography, species richness, regression, community ecology |
| May 9, 2026 | Additive diversity partitioning in R | ecology tutorial, R, vegan, beta diversity, community ecology, Hill numbers |
| May 9, 2026 | Nestedness, NODF, and null models in R | ecology tutorial, R, vegan, nestedness, null models, community ecology, beta diversity |
| May 9, 2026 | Distance decay of community similarity in R | ecology tutorial, R, vegan, beta diversity, biogeography, spatial ecology |
| May 9, 2026 | Marginal vs conditional R-squared in mixed models | mixed models, R, nlme, model evaluation, ecology tutorial |
| May 8, 2026 | Modelling non-constant variance with nlme | regression, R, nlme, model diagnostics, ecology tutorial |
| May 8, 2026 | Repeated measures and temporal correlation in R | mixed models, R, nlme, time series, ecology tutorial |
| May 8, 2026 | Random slopes in mixed models with nlme | mixed models, R, nlme, regression, ecology tutorial |
| May 8, 2026 | Marginal means and contrasts after a GLM | GLM, contrasts, multiple comparisons, ecology tutorial |
| May 8, 2026 | Interaction terms in ecological GLMs | GLM, interactions, count data, ecology tutorial |
| May 8, 2026 | From GLM coefficients to predicted values in R | GLM, prediction, count data, logistic regression, ecology tutorial |
| May 8, 2026 | Pseudoreplication and false positives in ecology | R, mixed models, experimental design, ecology tutorial |
| May 7, 2026 | Four common PERMANOVA mistakes in ecology | R, vegan, multivariate, PERMANOVA, ecology tutorial |
| May 7, 2026 | Offsets for rates and densities in Poisson GLMs | R, GLM, count data, ecology tutorial |
| May 7, 2026 | Collinearity and VIF in ecological regression | R, regression, model diagnostics, ecology tutorial |
| May 7, 2026 | A reproducible statistical workflow in R | reproducibility, workflow, ecology tutorial, R |
| May 7, 2026 | When not to use the Shannon diversity index | diversity, ecology tutorial, vegan, R |
| May 7, 2026 | Bootstrap confidence intervals in R | statistics, bootstrap, ecology tutorial, R |
| May 6, 2026 | Standard errors and confidence intervals in R | statistics, uncertainty, ecology tutorial, R |
| May 6, 2026 | Generalised least squares for spatial data in R | R, GLS, spatial, regression, ecology tutorial |
| May 6, 2026 | Contrasts and post-hoc comparisons in R | R, linear models, ANOVA, multiple comparisons, ecology tutorial |
| May 6, 2026 | t-tests and ANOVA as linear models in R | R, linear models, ANOVA, regression, ecology tutorial |
| May 6, 2026 | Power analysis by simulation in R | R, experimental design, power analysis, simulation, statistics, ecology tutorial |
| May 6, 2026 | GLM residual diagnostics with simulation in R | R, GLM, model diagnostics, count data, statistics, ecology tutorial |
| May 6, 2026 | Model selection with AIC in R for ecology | R, model selection, AIC, regression, statistics, ecology tutorial |
| May 5, 2026 | PCA for environmental data: scaling and axes | ordination, multivariate, vegan, R, ecology tutorial |
| May 5, 2026 | Logistic regression for presence-absence data | regression, GLM, species distribution, R, ecology tutorial |
| May 5, 2026 | Choosing a dissimilarity index for community data | community ecology, multivariate, vegan, R, ecology tutorial |
| May 5, 2026 | Phylogenetic diversity in R: PD, MPD, MNTD | R, community ecology, biodiversity, picante, ecology tutorial |
| May 5, 2026 | Species co-occurrence null models in R | R, community ecology, biodiversity, vegan, ecology tutorial |
| May 5, 2026 | Fitting species abundance distributions in R | R, community ecology, biodiversity, vegan, ecology tutorial |
| May 4, 2026 | Functional diversity in R with the FD package | R, functional diversity, traits, diversity, ecology tutorial |
| May 4, 2026 | From scattered plots to a surface: IDW and kriging in R | R, spatial, geostatistics, interpolation, ecology tutorial |
| May 4, 2026 | Zero-inflated and hurdle models for ecological counts | R, GLM, count data, zero inflation, ecology tutorial |
| May 4, 2026 | Exporting publication-quality ggplot figures in R | R, data visualisation, ggplot2, workflow, ecology tutorial |
| May 4, 2026 | Pseudoreplication: GLMMs for nested counts in R | R, mixed models, GLMM, count data, lme4, ecology tutorial |
| May 4, 2026 | RDA vs CCA for community ecology: by gradient length | R, ordination, constrained ordination, community ecology, vegan, ecology tutorial |
| May 4, 2026 | From QGIS to R: a spatial join with GeoPackage | R, QGIS, sf, spatial, GeoPackage, ecology tutorial |
| May 3, 2026 | Spatial autocorrelation and Moran’s I in R | R, spatial, spdep, regression, ecology tutorial |
| May 3, 2026 | capscale vs dbrda: same axes, different test | R, ordination, vegan, multivariate, ecology tutorial |
| May 3, 2026 | Modelling nonlinear species responses with GAMs | R, regression, GAMs, mgcv, ecology tutorial |
| May 3, 2026 | Raster data in R with terra: DEMs and extraction | R, spatial, raster data, ecology tutorial |
| May 3, 2026 | Poisson and negative binomial GLMs in R | R, regression, count data, ecology tutorial |
| May 3, 2026 | Mantel tests in R: correlating distance matrices | R, multivariate, spatial statistics, ecology tutorial |
| May 2, 2026 | ordisurf vs envfit: nonlinear gradients in R | R, ordination, gradient analysis, vegan, ecology tutorial |
| May 2, 2026 | Variation partitioning in R: environment vs space | R, multivariate, ordination, vegan, ecology tutorial |
| May 2, 2026 | Pairwise PERMANOVA in R: which groups differ | R, multivariate, hypothesis testing, vegan, ecology tutorial |
| May 2, 2026 | Hierarchical clustering and dendrograms in R | R, community ecology, ordination, ecology tutorial |
| May 2, 2026 | Rarefaction and accumulation curves in R | R, community ecology, diversity, ecology tutorial |
| May 2, 2026 | Indicator species analysis with IndVal in R | R, community ecology, indicator species, ecology tutorial |
| May 2, 2026 | Beta diversity in R: turnover vs nestedness (betapart) | R, community ecology, beta diversity, ecology tutorial |
| May 1, 2026 | Constrained ordination with distance-based RDA in R | R, vegan, ordination, constrained ordination, community ecology, ecology tutorial |
| May 1, 2026 | Mapping species richness in R with sf | R, sf, spatial, GIS, mapping, ecology tutorial |
| May 1, 2026 | Statistics on an ordination: envfit and PERMANOVA in R | R, vegan, ordination, PERMANOVA, community ecology, ecology tutorial |
| May 1, 2026 | Ordination with NMDS in R | R, vegan, ordination, community ecology, ecology tutorial |
| May 1, 2026 | Computing diversity indices in R with vegan | R, biodiversity, ecology tutorial |
| May 1, 2026 | Welcome to Tidy Ecology | meta |
No matching items