Recent Posts

More Posts

Introduction Setup The easy case (all eigenvalues are real) The hard case (complex eigenvalues) Demonstration Conclusions References Introduction Lately, I’ve been stuck in getting an intuition for exactly what is going on when a real matrix has complex eigenvalues (and complex eigenvectors) accordingly. After consulting various sources, and playing around with some examples, I think I have a grasp on what’s going on, and translating the math into an interpretation in the original space.


Introduction My Use Case Workflow Building the Docker image Uploading the docker image to Docker Hub Setting up Travis to use the Docker image References Introduction The below summarize the workflow I’ve converged on, after reading through various tutorials on Docker, examples, etc. If you’re here, I presume you have some interest in R package development and/or using Docker, which is a tool for containerizing an environment for running software.


Overview Setup Initial data examination Injuries by date Injuries by cause Overview This is an exploration of the TidyTuesday dataset on “Amusement Park Injuries”, done as part of the Wednesday coding clinic for Research Bazaar Gainesville. Setup ## load packages library(tidyverse) ## ── Attaching packages ─────────────────────── tidyverse 1.2.1 ── ## ✔ ggplot2 3.2.1 ✔ purrr 0.3.2 ## ✔ tibble 2.1.3 ✔ dplyr 0.8.3 ## ✔ tidyr 1.


Agenda Resources Installation and Setup Backup option Data Formats Determine embedding dimension using Simplex Projection Identify nonlinearity using S-map Multivariate Models Convergent Cross Mapping Surrogate Analysis with CCM Extra topics These are the notes for the rEDM tutorial I gave at the November 13-15 Nonlinear Dynamics and Fisheries Workshop at the NMFS Southwest Fisheries Science Center in Santa Cruz. Agenda Time 900-915 set up computers 915-930 data formats 930-945 simplex, plotting rho vs.


While on my visit to the University of Nebraska, Lincoln, I had the pleasure of taking over Chris Chizinski’s R class on Friday (2018-11-02). I demo’d a few things about setting up RStudio, using RStudio packages and the here package, and then walked through a workflow of doing data analysis, converting code into functions, and writing scripts and functions to be more accessible for readers. For reference, here are my slides.


Recent Publications

More Publications

. portalr: an R package for summarizing and using the Portal Project Data. In JOSS, 2019.


. The intrinsic predictability of ecological time series and its potential to guide forecasting. In Ecol Monogr, 2019.


. Comprehensive incentives for reducing Chinook salmon bycatch in the Bering Sea walleye Pollock fishery: Individual tradable encounter credits. In Reg Stud Mar Sci, 2018.


. Ecosystem‐based forecasts of recruitment in two menhaden species. In Fish Fish, 2018.


. Fluctuating interaction network and time-varying stability of a natural fish community. In Nature, 2018.




Gaussian Process Regression for Empirical Dynamic Modeling


R package for Macroecological Analysis of Time Series Structure


Analyzing Ecological Predictability using MATSS


R package for downloading and summarizing the Portal data


R package for empirical dynamic modeling

Causal inference

Identifying causal interactions among time series.


Predicting the future state of ecosystems.

Empirical Dynamic Modeling

Inferring system dynamics from time series

Dynamic stability

Dynamic quantification of stability in ecosystems.


Computational Training

I have taught or assisted with The Carpentries workshops at the University of Minnesota, the University of Florida, and the University of California San Diego.

In addition to teaching, I was a board member for the UF Carpentries Club from 2017-2019, which organizes computational workshops and related events at the University of Florida. I have also led the organization of two Research Bazaar events at UF that include: talks, panel discussions, tutorials, and more: ResBaz2018 ResBaz2019.

As part of the Open Data Science at SIO, I also led the following informal seminars:


I have formal training in pedagogy via “Teaching + Learning at the College Level”, a course on evidence-based teaching practices taught by UCSD’s Teaching + Learning Commons. (The course is now called “Introduction to College Teaching”.)

In addition, I am a certified instructor for The Carpentries.


I have been a teaching assistant for the following courses:

Inclusion & Accessibility


I have received training in leading Ally Skills workshops, via a “Train-the-trainers” workshop, led by Dr. Sheila Addison of Frame Shift Consulting at the University of Florida.

In addition, I have attended several workshops including ally skills and bystander intervention.


As part of the informal leadership of the Gainesville Ally Skills Network, we have been educating others on the need for individuals to use their priviledge to help dismantle systems of oppression that limit inclusion and accessibility in (primarily) academic spaces.

This includes:

  • 3-hour Ally Skils Workshops
  • 45-minute talks introducing concepts to broad audiences
  • monthly meetings to discuss scenarios, e.g. from the Dear Ally blog