【发布时间】:2014-02-11 07:12:50
【问题描述】:
我怎样才能对一个向量(如cumsum)进行累积求和,但有界,以使总和永远不会低于下限或高于上限?
标准的 cumsum 函数会产生以下结果。
foo <- c(100, -200, 400, 200)
cumsum(foo)
# [1] 100 -100 300 500
我正在寻找与基本 cumsum 函数一样高效的东西。我希望输出如下所示。
cumsum.bounded(foo, lower.bound = 0, upper.bound = 500)
# [1] 100 0 400 500
谢谢
【问题讨论】:
-
如果您正在寻找与基本
cumsum函数一样高效的函数,则必须在C中实现它。 -
根据自己的需要调整Rcpp的糖函数cumsum应该比较容易。据我所知,您只需要添加一个 if 语句。
-
@SvenHohenstein 或更可能是
Rcpp解决方案。
标签: r