Resource Image

Working with plant phenology data and fitting a nonlinear model using least squares in R

Author(s): Madeleine Bonsma-Fisher1, Ahmed Hasan1

University of Toronto

1878 total view(s), 1411 download(s)

0 comment(s) (Post a comment)

A participatory live-coding lesson on working with NEON phenology data and fitting a sine-wave model to determine when different species get and lose their leaves.

Licensed under CC Attribution-ShareAlike 4.0 International according to these terms

Version 1.0 - published on 21 Dec 2018 doi:10.25334/Q4Q73D - cite this


This module was presented as part of a participatory live-coding class for third and fourth-year undergraduate ecology students. In this lesson, we plot a subset of NEON phenology data and fit an oscillatory model to determine when different species get and lose their leaves. The module contains an optional section that was not presented in class on calculating growing degree days (GDD) and plotting leaf cover vs. growing degree days. The student notes are designed to be presented through participatory live-coding: the instructor’s live coding is projected to the class while they follow along on their own computers.

Learning objectives
Upon completion of the module, students will be able to:
• Import and manipulate discrete time series data in R:
    – Join data frames together
    – Convert dates to the Date class in R
    – Use dplyr functions such as group_by, mutate, case_when to restructure data
• Plot time series data using the ggplot2 package in R
• Define custom functions in R and apply them to vectors with mapply and sapply
• Fit a sine wave model to ecological time series data using least squares
• Explain the following ecological concepts:
    – Phenology
    – Growing Degree Days (if optional extension completed)

Cite this work

Researchers should cite this work as follows:


There are no comments on this resource.