计算向量索引的出现次数

时间:2015-07-01 16:36:24

标签: r vector indexing boolean find-occurrences

我目前正致力于优化R代码。所以,我试着避免动态内存分配,FOR循环,... 但是,我对一些FOR循环有一些困难,我需要创建一个这样的行为:

INPUT:

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循环和非优化代码。

由于

1 个答案:

答案 0 :(得分:3)

这就是诀窍:

cumsum(v)-1L