- cumsum 可以实现整体的累加
> cumsum(1:10)
[1] 1 3 6 10 15 21 28 36 45 55
向量中第一个元素为起始,后面是其需要加的数。
- cumprod(x) 累乘
> cumprod(1:5)
[1] 1 2 6 24 120
- cummax 保留出现的最大的那个数,并不断输出
> cummax(c(3:1, 2:0, 4:2))
[1] 3 3 3 3 3 3 4 4 4
- cummin 同理最小的那个
> cummin(c(3:1, 2:0, 4:2))
[1] 3 2 1 1 1 0 0 0 0
总结一下:
代码语言:javascript复制Returns a vector whose elements are the cumulative sums, products, minima or maxima of the elements of the argument.
Usage
cumsum(x)
cumprod(x)
cummax(x)
cummin(x)
by
使用by()分组计算描述性统计量,它可以一次返回若干个统计量。格式为:
代码语言:javascript复制by(data, INDICES, FUN)
其中data是一个数据框或矩阵;INDICES是一个因子或因子组成的列表,定义了分组;FUN是任意函数。
通过INDICES 定义的因子,对data 内容进行分组,即将整个data大数据框,划分为了若干个小的数据框,而函数则定义了对这些分组数据处理的方式。
例子
代码语言:javascript复制tmp = by(exp,
ids$symbol,
function(x) rownames(x)[which.max(rowMeans(x))])
这里面,exp 为原有的数据框,而ids$symbol 则是区分exp 信息的向量,其将exp 按照symbol 中的信息划分为若干个矩阵,而function 则定义了在同一组(同一symbol)中的列名筛选其中平均值最大的那一列( which.max(rowMeans(x))
)。