October 16, 2013

差分を求めながら、累積和のベクトルを得る

値が戻る時は、リセットする。

よく使う気がするので、関数にしておく。

cumsum2 <- function(x){

  mae <- x[1]

  tmp <- c(mae)

  for(i in 2:length(x)){

    if(mae > x[i]){

      tmp <- c(tmp, tmp[length(tmp)] + x[i])

    }else{

      tmp <- c(tmp, tmp[length(tmp)] + (x[i]-mae))

    }

    mae <- x[i]

  }

  tmp

}

© gepuro 2013