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/

相关文章:

c++ - 如何使用 vector<pair<int,pair<int,int>>> 进行排序?

python - Pandas 在读取格式错误的数据时不会引发异常

php - Nominatim API中有多少索引排名

r - randomForest [R] 是否不接受逻辑变量作为响应,但接受它作为预测变量?

r - 将整数 "20160119"转换为 "day"的不同列 "year" "month"

r - 如何在列中的每一行字符串之前添加变量(列)名称

r - 计算最小 s-t 切割尚未在 igraph 中实现

python - Shapely:3D 中线和多边形的交点

c++ - ' vector 迭代器不兼容'

php - 动态地将值插入到带有索引的数组中