My Research

Master’s Thesis: Interactive Visualization with youdrawitR

My thesis focuses on the development and refinement of the R package youdrawitR, which allows users to interact directly with line charts by drawing predictions or trends with their mouse. This interactivity has powerful implications for both data storytelling and education.

Currently, I’m working on cleaning and documenting the package in preparation for publication on CRAN. I’m also looking at its potential to become a ggplot2 extension, as we believe that the easier it is to use, the more likely it is that people will actually use it. Beyond that, we’re considering planning a series of side studies to evaluate its use cases, especially in statistical and mathematical education. I’m particularly excited about exploring how youdrawitR can enhance student engagement and conceptual understanding when learning to interpret graphs.

Skills Learned from This Experience:

  • Javascript D3: Most of the coding involved in this project is in Javascript D3. I learned a little bit of Javascript when I was in high school, but this definitely took it to a whole new level. I love how it can be used to make absolutely stunning visuals.
  • R: This is an R package, of course, so I should definitely know how to use R. However, I’m definitely pushing myself to get better at making vignettes and Shiny apps. A key goal of the project is to make the visualizations accessible to users who may not be familiar with R (or even coding at all) so designing intuitive interfaces and clear documentation has been a major focus.
  • Technical Writing and Documentation: I have come to really appreciate code that is written out clearly and cleanly. I aim to do the same for youdrawitR. My goal is to write thorough, beginner-friendly documentation that make the package approachable for users at all levels. I really want to encourage people (especially future Master’s students at Cal Poly) to add on to the package. I feel like any work I do this year will just scratch the surface of this package’s capabilities.

Additional Research: GIFs in Data Science Education

I presented this project at eUSR this year!

This research focuses on how to make data transformation in R easier to understand for those new to data science, or for those who are visual learners. Prior research in cognitive science and computer science education has shown that animated representations can support learners in internalizing structural changes in data. In today’s AI-driven world, where tools often provide ready-made answers, students must be able to understand what code is doing behind the scenes. The ability to interpret, critique, and debug outputs is more important than ever.

While some existing resources use GIFs to illustrate data transformations, this project aims to go a step further. We design animated examples using culturally relevant data and pedagogically structured visuals to support comprehension. Our focus is on three foundational tidyverse functions (select(), mutate(), and filter()) each chosen to highlight a core transformation in the data wrangling process.

  • R: While I have definitely made visualizations in R, and have made animated visualizations in R before, I never knew that making GIFs were possible in R. The process felt surprisingly similar to object-oriented programming in that I worked with graphical objects that have properties and behaviors, manipulating these elements step-by-step to build the final animation. This approach gave me a deeper appreciation for the structured and modular nature of animation coding within R, making it easier to design complex visual stories systematically.
  • Planning: The professor that I worked on this project with really emphasized having a plan and making sure we were on the same page. Before we began working with each other, we decided to both read the Seven Habits of Highly Effective People. This taught me how to have great synergy with those I work with, and allowed me to become a very clear communicator.