基于elseif条件滚动累积产品

时间:2016-10-26 21:12:54

标签: r cumulative-sum

我正在寻找一种在基于附加列的ifelse语句中进行滚动产品的方法吗?

我的数据看起来像这样

    A    B   C 
 1  1    1   
 2  3    1   
 3  5    0
 4  7    0

excel公式等效于

C3 = IF(B3=0,(1+A3/10)*C2,1)

我尝试使用

ifelse(B==0,cumprod(c(1,(A[-1]/10+1))),1)

我无法让它适用于这种情况,因为它总是指的是A列中的数据。

我希望得到以下结果

    A    B   C 
 1  1    1   1
 2  3    1   1
 3  5    0   1.5
 4  7    0   2.55

提前致谢

1 个答案:

答案 0 :(得分:4)

试试这个:

   $(document).ready(function() {
        if (hash = window.location.hash) {
            $('.nav-tabs a[href="' + hash + '"]').tab('show');
        }
    });

或使用df$C <- cumprod(with(df, ifelse(B==0, A/10+1, 1)))

Reduce