R cumsum() Function - Calculate Cumulative Sum
The R cumsum() function is used to calculate the cumulative sum of a vector.
Cumulative sum (accumulative sum) refers to the sequence obtained by successively adding the current element to all previous elements, and is widely used in fields such as financial analysis and inventory statistics.
The syntax format of the cumsum() function is as follows:
cumsum(x)
Parameter description:
xInput numeric vector.
Example
# Create a vector
x <- c(1, 2, 3, 4, 5, 6)
# Calculate cumulative sum
result.cumsum <- cumsum(x)
print(result.cumsum)
# Calculate cumulative product
result.cumprod <- cumprod(x)
print(result.cumprod)
x <- c(1, 2, 3, 4, 5, 6)
# Calculate cumulative sum
result.cumsum <- cumsum(x)
print(result.cumsum)
# Calculate cumulative product
result.cumprod <- cumprod(x)
print(result.cumprod)
The output result after running the above code is:
[1] 1 3 6 10 15 21 [1] 1 2 6 24 120 720
cumsum() is very useful when simulating cumulative returns:
Example
# Simulate daily return rates
returns <- c(0.02, -0.01, 0.03, 0.015, -0.005, 0.02, -0.01)
# Calculate cumulative returns
cumulative <- cumsum(returns)
print(paste("Cumulative returns:", cumulative))
# Calculate cumulative maximum
print(paste("Cumulative maximum:", cummax(cumulative)))
# Calculate cumulative minimum
print(paste("Cumulative minimum:", cummin(cumulative)))
returns <- c(0.02, -0.01, 0.03, 0.015, -0.005, 0.02, -0.01)
# Calculate cumulative returns
cumulative <- cumsum(returns)
print(paste("Cumulative returns:", cumulative))
# Calculate cumulative maximum
print(paste("Cumulative maximum:", cummax(cumulative)))
# Calculate cumulative minimum
print(paste("Cumulative minimum:", cummin(cumulative)))
The output result after running the above code is:
[1] "累计收益: 0.02" "累计收益: 0.01" "累计收益: 0.04" [4] "累计收益: 0.055" "累计收益: 0.05" "累计收益: 0.07" [7] "累计收益: 0.06" [1] "累计最大: 0.02" "累计最大: 0.02" "累计最大: 0.04" [4] "累计最大: 0.055" "累计最大: 0.055" "累计最大: 0.07" [7] "累计最大: 0.07" [1] "累计最小: 0.02" "累计最小: 0.01" "累计最小: 0.01" [4] "累计最小: 0.01" "累计最小: 0.01" "累计最小: 0.01" [7] "累计最小: 0.01"Other extensions
R Language Examples