我想做点什么
foo = c(1, 1, 1)
bar = magic_function(foo, sum, init=0)
其中bar
是1 2 3
,即foo
的部分和。是否有这样的功能,或者最好的方法是什么(避免for循环)?
答案 0 :(得分:11)
将詹姆斯的评论与我的评论结合起来,这里有一些选择:
> foo = c(1, 1, 1)
> cumsum(foo)
[1] 1 2 3
> Reduce("+", foo, accumulate = TRUE)
[1] 1 2 3
> Reduce("sum", foo, accumulate = TRUE)
[1] 1 2 3