r - 计算向量索引出现的次数

标签 r vector indexing boolean find-occurrences

我目前正在优化 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

关于r - 计算向量索引出现的次数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31167038/

相关文章:

r - 在列表的列中查找特定值

html - 遵循 HTML knit - RMarkdown 包括空白 block

r - 如何设置 facet_grid() 以便 y 轴仅显示每个实例中的最大值,而中间不显示任何值?

java - 比较两个 vector (Java)

python - 如何找到字符串中任何一组字符的第一个索引

sql-server - SQL Server : Filtered Indexes versus Indexed Views

r - 每天聚合 data.frame

vector - 当在向量上迭代时插入向量时,Rust是否能保护我免受迭代器无效的影响?

c - 使用宏在 C 中实现泛型 vector 。这是个好主意吗?

R:按多个列值索引到数据框