Vectors are used to store one-dimensional data of the same type in R. In this tutorial, we will look at how to get the cumulative product of a vector in R with the help of some examples.

## What is the cumulative product?

The cumulative product of a series of values is the product of values up to that value in our series. For example, for a vector of three values (a1, a2, and a3), the cumulative product would be a1, a1*a2, and a1*a2*a3. The following image illustrates this with an example.

In the above image, we have four values 1, 2, 3, and 4. The cumulative product for these values is 1, 1*2, 1*2*3, and 1*2*3*4 respectively. Note that the order in which these values appear is important when computing the cumulative product.

## How to calculate the cumulative product of a vector in R?

You can use the `cumprod()`

function in R to compute the cumulative product of the values in a vector. Pass the vector as an argument to the function. The following is the syntax –

# cumulative product of vector x cumprod(x)

It returns a vector containing the cumulative product of the values in the passed vector.

## Examples

Let’s now look at some examples of using the above syntax.

### Cumulative product of a vector of numbers

Let’s create a vector of some numbers and use the `cumprod()`

function to calculate its cumulative prod. For example, let’s compute the cumulative product for the vector `c(1, 2, 3, 4)`

.

**Data Science Programs By Skill Level**

**Introductory** ⭐

- Harvard University Data Science: Learn R Basics for Data Science
- Standford University Data Science: Introduction to Machine Learning
- UC Davis Data Science: Learn SQL Basics for Data Science
- IBM Data Science: Professional Certificate in Data Science
- IBM Data Analysis: Professional Certificate in Data Analytics
- Google Data Analysis: Professional Certificate in Data Analytics
- IBM Data Science: Professional Certificate in Python Data Science
- IBM Data Engineering Fundamentals: Python Basics for Data Science

**Intermediate ⭐⭐⭐**

- Harvard University Learning Python for Data Science: Introduction to Data Science with Python
- Harvard University Computer Science Courses: Using Python for Research
- IBM Python Data Science: Visualizing Data with Python
- DeepLearning.AI Data Science and Machine Learning: Deep Learning Specialization

**Advanced ⭐⭐⭐⭐⭐**

- UC San Diego Data Science: Python for Data Science
- UC San Diego Data Science: Probability and Statistics in Data Science using Python
- Google Data Analysis: Professional Certificate in Advanced Data Analytics
- MIT Statistics and Data Science: Machine Learning with Python - from Linear Models to Deep Learning
- MIT Statistics and Data Science: MicroMasters® Program in Statistics and Data Science

**🔎 Find Data Science Programs 👨💻 111,889 already enrolled**

Disclaimer: Data Science Parichay is reader supported. When you purchase a course through a link on this site, we may earn a small commission at no additional cost to you. Earned commissions help support this website and its team of writers.

# create a vector vec <- c(1, 2, 3, 4) # cumulative product of vector print(cumprod(vec))

Output:

[1] 1 2 6 24

We print the resulting cumulative product. You can see that each value in the cumulative product vector is the product of all values till that particular index from the original vector.

### Cumulative product of a vector with `NA`

values

What would happen if you apply the `cumprod()`

function to a vector containing some `NA`

values?

Let’s find out.

For this, we will create a vector with some `NA`

values and then apply the `cumprod()`

function.

# create a vector with NA values vec <- c(1, 2, NA, 3, NA, 4) # cumulative product of vector print(cumprod(vec))

Output:

[1] 1 2 NA NA NA NA

You can see that we get the cumulative product till we encounter the first `NA`

in our vector. From this point onwards, the resulting cumulative product for all the values is `NA`

. This happens because performing any arithmetic operation with `NA`

results in an `NA`

in R.

If you want to compute the cumulative product irrespective of the `NA`

values, you can first remove the `NA`

values from the vector and then apply the `cumprod()`

function.

You might also be interested in –

**Subscribe to our newsletter for more informative guides and tutorials. ****We do not spam and you can opt out any time.**