函数功能
cumsum 函数的功能是计算向量的累积和并返回
cum 系列还有另外三个函数:cumprod, cummin, cummax
它们的作用分别是计算向量的累积的乘积、极小值、极大值,并返回
函数参数说明
cum 系列函数只有一个参数:cumsum(x), cumprod(x), cummin(x), cummax(x)
- 当使用 cumsum 或 cumprod 时,x 可以是数值型(numeric)或复数型(complex)的向量、矩阵、数据框,因为数值型和复数型可做求和、求积。
- 当使用 cummin 或 cummax 时,x 只能是数值型的向量、矩阵、数据框。
函数返回值说明
当 x 是向量、矩阵时,cum 系列函数返回的是向量,因为矩阵的本质也是向量;当 x 是数据框时,返回值则仍为数据框。
函数使用示例
对数值型向量求和:
1
| ## [1] 1 3 6 10 15 21 28 36 45 55
|
对数值型矩阵求和,结果返回仍是向量:
1
| cumsum(matrix(1:12, nrow = 3))
|
1
| ## [1] 1 3 6 10 15 21 28 36 45 55 66 78
|
对数据框求和,返回结果仍然是数据框,对每个变量做操作:
1
| cumsum(data.frame(a = 1:10, b = 21:30))
|
1 2 3 4 5 6 7 8 9 10 11
| ## a b ## 1 1 21 ## 2 3 43 ## 3 6 66 ## 4 10 90 ## 5 15 115 ## 6 21 141 ## 7 28 168 ## 8 36 196 ## 9 45 225 ## 10 55 255
|
对复数型向量,可以求积:
1 2
| x <- c(1 + 2i, 2 - 3i, 5 + 10i); cumprod(x)
|
1
| ## [1] 1+ 2i 8+ 1i 30+85i
|
对数值型向量求min:
对数据框,每个变量分别求max:
1
| cummax(data.frame(a = c(3,2,5,1,4), b = c(1,8,3,6,5)))
|
1 2 3 4 5 6
| ## a b ## 1 3 1 ## 2 3 8 ## 3 5 8 ## 4 5 8 ## 5 5 8
|