Applied Biological Data Analysis
Preface

This website accompanies a course I have developed at Kennesaw State University: BIOL 7410: Applied Biological Data Analysis. The target audience is biologists who need to analyze data for their research projects. If you find the material here helpful, please let me know! Likewise, if you have comments for improvement, I’d love to hear from you: send all comments to ngreen62@kennesaw.edu!
If you are a returning visitor, please note that the website has been rearranged since 2024. This was done to make the modules smaller and more digestible.
The Fall 2025 course syllabus can be downloaded here.
Work in progress warning!
I am actively updating this site throughout the Fall 2025 semester. This means that many cross-references may be broken, pictures missing, etc. Please be patient with me as I get things back into working order.
Data used in this website
This website presents many examples of data analyses or data manipulation. In past versions of the site (and my course), I have tried to use different and interesting datasets for every module, so that examples would feel more relevant and fresh. However, student feedback has convinced me to pursue the opposite strategy: use a single dataset for most examples, so that people could get more familiar with the dataset over the course of the semester. This would prevent having to learn a completely new dataset and biological system every day in class.
However, it turns out that it’s hard to do everything with a single dataset. So, I settled on 3 datasets:
- The famous
irisdataset included with R. This will be used primarily in early modules covering data manipulation and data frame management, as well as the review of basic statistics in Module 9. - Datasets simulated ad hoc to demonstrate simple concepts with no underlying biological reality (i.e., numbers to demonstrate the properties of a probability distribution).
- Small mammal trapping and measurement data from the National Ecological Observatory Network (NEON)(National Ecological Observatory Network (NEON) 2025). The details of which data I used and how I packaged them for this website can be found in Appendix A.
License and permissions
This work and its content is released under the Creative Commons Attribution-ShareAlike 4.0 license. This means that you are allowed to share the material and adapt it for your purposes, under the following conditions:
- Give appropriate credit to the author. This includes citing the original sources of any third-party datasets used in some of the tutorials. I’ve done my best to provide appropriate citations alongside these datasets.
- If you remix, transform, or build upon the material, you must distribute your contributions under the same license as the original.
This site is for educational purposes only. This work and its content is released under the Creative Commons Attribution-ShareAlike 4.0 license. Inclusion of third-party data for educational purposes falls under guidelines of fair use as defined in section 107 of the US Copyright Act of 1976.
Course description
This course is a survey of data analysis skills and statistical methods essential for careers in biology. This course takes a holistic approach to the data analysis workflow using the open-source software R, including: data management, exploratory analyses, modeling, and reproducible science practices. Statistical topics covered may include generalized linear models, mixed effects models, nonlinear models, and ordination. Students apply techniques learned in class to real biological datasets as a course project.
Course objectives
- Engage with current biology literature to explain the role of statistics in the biological sciences and the ways in which analytical results are communicated.
- Engage in research using modern statistical methods to investigate biological questions.
- Manipulate, summarize, display, and analyze data using the open-source environment and language R.
- Use probability distributions to model and think about biological phenomena.
- Translate biological hypotheses and ideas into statistical models and vice versa.
- Conduct exploratory data analyses in support of scientific investigations, particularly to detect and diagnose common problems with biological datasets.
- Communicate data and analytical results to audiences who may or may not have statistical backgrounds.
Course requirements
Access to a computer or laptop capable of running R version 4.0 or above. This site was rendered using R version 4.4.3 and the most recent version of any package mentioned (as of August 8, 2025).
A 64-bit system is highly recommended for speed and stability.
A separate program in which to write and edit code.
- Most people prefer to use an “integrated development environment” (IDE) or dedicated code editor for coding. I recommend some in Module 2.
- Most people nowadays prefer RStudio. The desktop version is free and has a lot of nice features that make working with R easier.
- IDEs and code editors are often subject to irrationally strong personal and organizational preferences, so just pick the one that works for you. Or, use the one your supervisor tells you to use.
- My usual workflow includes two windows: the base R GUI, and Notepad++.
It would helpful to have a dataset of your own to work with. Each course module uses numerous examples with simulated or published datasets. But, at the end of the day, you’re probably here because you need to apply these methods to your own work.
Recommended reading
This course has no required textbook. If you want a textbook, then I recommend one of the following:
Ecological models and data in R by Ben Bolker (Bolker 2008). This is a general statistics textbook for biologists. The applications and examples are focused on ecology, but the statistical exposition is relevant to any area of biology.
Introductory statistics with R by Peter Dalgaard (Dalgaard 2002). This is a general statistics textbook and introduction to R programming.
A beginner’s guide to R by Alain Zuur and others (Zuur et al. 2009b). This book introduces R in a different way than Dalgaard (2002).
An introduction to statistical learning: with applications in R by Gareth James and others (James et al. 2013). This is a more advanced statistics book that also introduces machine learning. The second edition is available for free online.
Parts of the course also lean heavily on some more specialized textbooks:
Analysing ecological data (Zuur et al. 2007) and Mixed effects models and extensions in ecology with R (Zuur et al. 2009a) by Alain Zuur and others. These are advanced textbooks aimed at ecologists which introduce GLMs, mixed models, and other topics we will explore in this course.
Analysis of ecological communities by Bruce McCune and James Grace (McCune et al. 2002) and Numerical ecology by Pierre and Louis Legendre (Legendre and Legendre 2012) are introductions to ordination and other multivariate methods. McCune et al. (2002) is a gentler introduction but depends on proprietary software. Legendre and Legendre (2012) is a little more technical (but still relatively easy to understand) and uses R throughout.
An introduction to WinBUGS for ecologists by Marc Kéry (Kéry 2010). This book introduces Bayesian inference using the free programs WinBUGS or JAGS, which can be accessed from R.
If you want a PDF version of this website, please be patient. I’ll put a PDF version here once I can get it to exist.
Course organization
This work is roughly organized into 9 parts. The links below will take you straight to the start of each module.
Part 1 introduces the use of statistics in modern biology, setting the stage for the rest of the course.
Module 1 is an introduction to the use of statistics in biology, and explores some fundamental issues related to how biologists make inferences based on data.
Part 2 is an introduction to R split across several modules. Beginners should start in Module 2.
Module 2 is an introduction to the R program and programming language.
Module 3 describes some important R data and object types–how R stores data.
Module 4 covers methods for importing data in R, and exporting results from R.
Module 5 takes a deep dive into manipulating data in R. This includes selecting data, relating data tables, and data frame management.
Part 3 introduces the practices of exploratory data analysis, beginning with basic statistical procedures such as descriptive statistics, data summarization, and describing variables using probability distributions. It also includes a module on planning your analysis.
Module 6 describes descriptive statistics, or summaries, of single variables.
Module 7 describes how to summarize and aggregate data by groups.
Module 8 introduces basic data visualizations like histograms, probability density plots, boxplots, and scatterplots.
Module 9 introduces probability distributions and how to use them to describe your data.
Module 10 covers common statistical problems in biology, including lack of replication, autocorrelation, collinearity, and missing data.
Module 11 is a guide to selecting statistics for your research. This module contains dichotomous keys to help you decide what statistical methods are most appropriate for the question you are trying to analyze.
Part 4 is a review of introductory statistics–basically everything you probably learned in your undergraduate statistics course, but could use refresher on.
Module 12 reviews the structure of biological datasets, null hypothesis significance testing, and the 4 classes of statistical tests used by biologists.
Module 13 reviews tests for comparing the means or locations of groups of observations: t-tests, analysis of variance (ANOVA), and their nonparametric alternatives.
Module 14 reviews procedures for testing continuous patterns: correlation, linear regression, and analysis of covariance (ANCOVA). This module also takes a deep dive into linear models and their fundamental importance for understanding more advanced methods.
Module 15 reviews tests for contingency and independence such as Fisher’s exact test, the \(\chi^2\) test, and the G-test.
Part 5 introduces the the powerful framework of the generalized linear model (GLM) for modeling for modeling data with a single response variable.
Module 16 introduces generalized linear models (GLM), an extremely general and powerful framework for analyzing biological data.
Module 17 demonstrates GLMs for continuous data: Gaussian, log-normal, and Gamma GLMs.
Module 18 covers GLMs for count data: Poisson and negative binomial GLMs.
Module 19 covers GLMs for binomial data and proportional: logistic regression and binomial GLM.
Part 6 builds upon the GLM framework to introduce nonlinear models and mixed models, which can accomodate many situations where GLMs are inadequate.
Module 20 explores nonlinear models for relationships that don’t follow a straight line. These models include biological growth curves and dose response curves.
Module 21 introduces mixed models, which extend GLM and other models to include random effects. Mixed models allow biologists to account for variability from unknown sources.
Part 7 covers multivariate statistics, methods which can consider many variables at a time.
Module 22 introduces multivariate statistics, which explore patterns in 2 or more variables at once. This module covers the structure of multivariate datasets and distance measures.
Module 23 explores cluster analysis, a class of techniques for identifying groups within multivariate data.
Module 24 explores ordination, a class of techniques for visualizing patterns in multivariate data. Ordination also includes dimension reduction, or the consolidation of information from many dimensions into few.
Module 25 describes some multivariate hypothesis tests, many of which are extensions of univariate techniques.
Part 8 introduces two statistical frameworks that can be an alternative to p-values and null hypothesis significance testing.
Module 26 introduces information-theoretic model selection, an alternative to null hypothesis significance testing (NHST) that evaluates entire models rather than individual parameters and their p-values.
Module 27 introduces Bayesian inference using the program JAGS, another alternative to NHST.
Part 9 is “bonus material”; i.e., additional modules that didn’t quite fit in anywhere else. New modules will be added here until the next major update.
Module 28 takes a deep dive into building quality graphics using base R.
Finally, Appendix A describes the NEON dataset that I used to build most of this course, and the steps taken to process the raw data download to the files provided here.

