如何對矢量(如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](http://dirk.eddelbuettel.com/code/rcpp/html/cumsum_8h_source.html)應該相對容易。據我所知,你只需要添加一個if語句。 – Roland
@SvenHohenstein或更可能是'Rcpp'解決方案。 –