计算向量索引的出现次数

Count number of occurence to an index of a vector

我目前正在优化 R 代码。所以,我尽量避免动态内存分配、FOR 循环…… 但是,我在某些 FOR 循环中遇到了一些困难,我需要创建这样的行为:

输入:

v <- c(TRUE,FALSE,FALSE,TRUE,FALSE,TRUE,TRUE,FALSE,FALSE,FALSE)

输出:

 [1] 0 0 0 1 1 2 3 3 3 3

我认为,最简单的方法是能够计算 "TRUE" 出现的次数到向量的当前索引。 如果你有任何想法...... 请记住避免 FOR 循环和非优化代码。

谢谢

这样就可以了:

cumsum(v)-1L