【发布时间】:2012-12-06 10:23:21
【问题描述】:
假设我有一个整数向量:
> a<-sample(1:100,10)
> a
[1] 13 23 97 70 63 32 82 31 15 36
我想要一个包含该向量的累积值的向量。也就是说,我想要向量
13 36 133 203 266 298 380 411 426 462
实现此目的的一种方法是使用 for 循环。我更喜欢使用 apply/lapply/sapply/...,但我能想到的唯一方法是:
sapply(1:length(a), function(x) {sum(a[1:x])})
[1] 13 36 133 203 266 298 380 411 426 462
这可行,但我想知道是否有更好的方法来做到这一点。有吗?
(这可能是一个不好的例子,但总的来说,如果您知道这些元素相对于当前元素的位置,有没有办法访问被迭代列表的元素?)
【问题讨论】:
标签: r loops vectorization