我有一个简单的二元向量a
我尝试将其转换为向量b
使用 R 函数cumsum
。然而,cumsum
不完全返回向量b
.
这是一个例子:
a <- c(1,0,0,0,1,1,1,1,0,0,1,0,0,0,1,1)
b <- c(1,2,2,2,3,4,5,6,7,7,8,9,9,9,10,11)
> cumsum(a)
[1] 1 1 1 1 2 3 4 5 5 5 6 6 6 6 7 8
问题是每当向量中出现 0a
那么前一个数字应该加 1,但仅限于前 0 个。其余的数字被赋予相同的值。
任何建议都会很棒! :-)