Exploratory Data Analysis in R – ES218
Manny Gimond - Spring 2026
Course Description
This course provides a comprehensive introduction to Exploratory Data Analysis (EDA) using the R programming
environment and RStudio. The curriculum emphasizes a robust, reproducible workflow by utilizing scripting and R
Markdown to integrate data analysis with document creation, ensuring transparency and credibility in scientific findings.
Students learn to manipulate, reshape, and join complex datasets using dplyr and tidyr before applying advanced
visualization techniques through base R, and ggplot2. Key analytical topics include the characterization of univariate and
bivariate distributions, the use of non-parametric fits like loess, and the critical evaluation of models through residual
diagnostics and residual-fit spread (RFS) plots. Furthermore, the course covers specialized methods such as reexpression techniques to mitigate skewness and stabilize variance, and spatial mapping to explore variables within
geographic boundaries. Ultimately, the course fosters an exploratory attitude that prioritizes graphical tools to uncover
hidden structures and allow the data to "speak for themselves".
Attendance
Attendance is expected in all classes, and students are responsible for any missed work. Excessive unexcused absences
may result in penalties, including warnings, grade reductions, or dismissal from the course with a failing grade. If a
student is absent for two or more consecutive classes, a dean’s note is required.
Labs are group-based activities; therefore, punctual attendance is required. Students who arrive more than five minutes
late will not be permitted to participate in the lab and will receive a grade of zero for that session unless the tardiness is
due to illness or documented extenuating circumstances, which may require verification.
Course Evaluation
Students will be evaluated on their technical as well as theoretical knowledge of data analysis. Evaluations will be based
on quizzes (20%), two mid-term exams (20% each), group lab assignments (contributing 20% towards the overall grade)
and a final exam (20%).
A Note regarding AI Software
All work submitted in this course must be the student’s own work. The student may not engage in unauthorized
collaboration or make use of ChatGPT, gemini.google.com or any other AI based application unless explicitly authorized.
R Use
R functions and techniques must be limited to those covered in this course and available in the online text unless
otherwise noted. Points will be deducted if R functions and packages not covered in class are used in graded
deliverables.
Course websites
The lecture notes are hosted at: http://mgimond.github.io/ES218/index.html
Assignments and discussion forums will be hosted on Moodle.
Topics covered
1. Data analysis environment
R and RStudio
R packages
2. Working with data in R
Data types: numeric, character, factor, logical and dates
Data objects: vector, data frame, lists
Read and writing data files
3. Manipulating data tables in R using dplyr package
Subsetting data
Filtering by values
Summarizing tables by rows and columns
Reshaping tables (long vs. wide)
4. Plotting data in R
Using the base plotting functions
Using the ggplot package
5. Univariate analysis
Levels and spreads
Quantile plots and Q-Q plots
Fits and residuals
Explained and Unexplained Variation
Re-expressing values (aka transformations)
6. Bivariate analysis
Parametric and non-parametric fitting
Fits and residuals
Explained and Unexplained Variation
Traditional regression and robust alternatives
7. Mapping spatial variables