I’m a postdoctoral researcher in Emilio Bruna’s lab at University of Florida working on the effects of drought and habitat fragmentation on a tropical plant. I’m interested in the mechanisms of plant responses to stress and their consequences for natural and agricultural ecosystems. My Ph.D. focus was on the effects of climate change and insect herbivory on the quality (flavor and health benefits) of tea (Camellia sinensis).


  • Chemical ecology
  • Eco-metabolomics
  • Plant demography
  • Statistics and programming in R
  • Tea


  • PhD in Biology, 2020

    Tufts University

  • MS in Ecology, Evolution, and Conservation Biology, 2010

    University of Illinois at Urbana-Champaign

  • BA in Biology, 2006

    Whitman College


Effects of drought and habitat fragmentation on a tropical understory plant.

My postdoctoral project in the Bruna lab at University of Florida involves analyzing long-term demographic data from an experimentally fragmented tropical forest experiment in Brazil.


An R package for accessing chemical information from the web.

Use of partial least squares regression (PLS) in ecology

PLS is a powerful multivariate regression method that has many applications for ecological data. When is it best used, what are its advantages, and how should you report your results?


An R package for modeling bumblebee colony growth

Climate Effects on Bug-Bitten Tea

Eastern Beauty wulong tea is only produced from tea leaves damaged by leafhoppers. The induced volatiles produced by damaged tea plants gives the finished tea a unique flavor. How will leafhopper damage change in a warming climate, and how will that impact tea quality?


I’ve been teaching biology ever since I was 12 when I became an interpretive guide at the Lindsay Wildlife Experience in my home town of Walnut Creek, CA. Since then I’ve taught science of all sorts to all ages in a variety of formats.

Selected Teaching Experience:

  • Ecological Statistics and Data. Spring 2020. I took over this course during my last semester as a PhD student as the instructor of record. I reorganized the syllabus and created new content to teach genearlized linear models and mixed effects models with ecological applications using R.
  • Biostatstics in R. Fall 2016–2018. Recitation section for BIO132 at Tufts University. In collaboration with Natalie Kerr in 2016 and Avalon Owens in 2018, we designed and taught this new course. Previously, BIO132 used SPSS rather than R and did not have a required recitation. Course materials available here.
  • Organisms and Populations. Spring 2015. Lab section for BIO0014 at Tufts University. I served as a graduate TA for a lab section of this course in a year when the course was being entirely redesigned. I actively participated in designing course materials and lab activities in addition to teaching my own lab section.
  • Introductory Biology. 2011 – 2014. I taught a guaranteed transfer credit lecture and lab course at Front Range Community College in Fort Collins, CO where I was an instructor. My students came from diverse age, socioeconomic, and learning backgrounds. I designed lectures and assessment materials and engaged in revising lab exercises and course materials. I attended professional development workshops including an especially helpful one on teaching veterans.

Recent Posts

Speeding up DLNMs with bam()

DLNMs themselves may not be that computationally expensive, but when combined with random effects and other smoothers, and a large-ish dataset, I’ve noticed gam() being painfully slow. “Slow” is of course relative, and I’m really only talking like a couple minutes for a model to run.

DLNM marginal basis functions

This is the third post in a series about distributed lag non-linear models. Please read the first post for an introduction and a disclaimer. Choosing marginal function to construct a crossbasis According to Gasparrini et al.

Distributed lag non-linear models

Welcome / Disclaimer This is the beginning of a series of blog posts where I publicly stumble my way through figuring out some confusing, complicated, and, frankly, cutting-edge modeling and statistics.

DLNMs: building and visualizing crossbasis functions

This is the second post in a series about distributed lag non-linear models. Please read the first post for an introduction and a disclaimer. The dlnm package The dlnm package offers two ways of fitting crossbasis functions: an “internal” and an “external” method.

Working with matrix-columns in tibbles

What’s a matrix-column? The tibble package in R allows for the construction of “tibbles”—a sort of “enhanced” data frame. Most of these enhancements are fairly mundane, such as better printing in the console and not modifying column names.