Unleashing the Power of Cumulative Mean in R: A Step-by-Step Guide


Steven P. Sanderson II, MPH


July 27, 2023


As data-driven decision-making continues to shape our world, the need for insightful statistical analysis becomes ever more apparent. One crucial tool in a programmer’s arsenal is the “cumulative mean,” a statistical measure that allows us to understand the average value of a dataset as it evolves over time. In this blog post, we will delve into what a cumulative mean is, explore its applications, and equip you with the knowledge to unleash its potential using base R.

Understanding the Cumulative Mean

The cumulative mean, also known as the running mean or moving average, provides us with a dynamic view of how the average value of a dataset changes as new observations are added incrementally. It is an invaluable tool in time-series analysis, trend identification, and smoothing noisy data.

Imagine you have a series of numeric values, and you want to find the average of the first observation, then the average of the first two observations, followed by the average of the first three, and so on. This iterative process generates the cumulative mean, painting a picture of how the data behaves over time.

Calculating Cumulative Mean in R

R, being a powerful data analysis language, provides a straightforward way to compute the cumulative mean using base R functions. Let’s go through the steps to find the cumulative mean of a vector ‘data’ with n elements.

  • Step 1: Create the ‘data’ vector.
  • Step 2: Use the cumsum() function to calculate the cumulative sum of ‘data’.
  • Step 3: Divide the cumulative sum by the sequence of numbers from 1 to n using the seq_along() function.

Now, let’s dive into the code and illustrate the process with some examples.


Example 1: Finding the Cumulative Mean of a Simple Vector

# Step 1: Create the 'data' vector
data <- c(2, 4, 6, 8, 10)

# Step 2: Calculate the cumulative sum
cumulative_sum <- cumsum(data)

# Step 3: Calculate the cumulative mean
cumulative_mean <- cumulative_sum / seq_along(data)

# Display the result
[1] 2 3 4 5 6

Example 2: Applying Cumulative Mean to Real-World Data

Let’s use the cumulative mean to analyze monthly website traffic data.

# Step 1: Create the 'monthly_traffic' vector
monthly_traffic <- c(100, 200, 300, 400, 500)

# Step 2: Calculate the cumulative sum
cumulative_sum <- cumsum(monthly_traffic)

# Step 3: Calculate the cumulative mean
cumulative_mean <- cumulative_sum / seq_along(monthly_traffic)

# Display the result
[1] 100 150 200 250 300

Here are some more examples of how you might want to use a cumulative mean in R:

  • To track the average stock price over time
  • To track the average temperature over a period of days
  • To track the average number of visitors to a website over a period of weeks


Congratulations! You’ve now grasped the concept of cumulative mean and learned how to compute it using base R. This powerful statistical measure allows you to gain insights into your data’s trends and patterns as new information becomes available.

The best way to solidify your understanding is to experiment with the cumulative mean on your own datasets. You’ll soon discover how this versatile tool can enhance your data analysis and decision-making capabilities.

If you want to try out a few different types of cumulative statistic functions then you may want to give my package {TidyDensity} a try. I have posted on those functions before which you can find here: https://www.spsanderson.com/steveondata/posts/rtip-2023-02-06/inex.html.

So, go ahead and try it out! Whether you’re dealing with financial data, social media trends, or any other time-varying dataset, the cumulative mean will undoubtedly be an invaluable addition to your data analysis toolbox. Happy coding!