如何在FALSE之前计算逻辑向量中的TRUE值的数量

Kha*_*ain 2 r logical-operators

在尝试查找TRUE向量中的多个值时,我遇到了第一个 Google点击.但是,这并不完全符合我的要求.我有兴趣TRUE在第一个之前找到向量中的值的数量(FALSE如果有的话).我有一个向量a <- c(TRUE,TRUE,TRUE,FALSE,TRUE, TRUE),想要在TRUE之前找到所有值FALSE,因此输出将为3.请注意,如果TRUE向量中只有值,它也应该有效.

Jul*_*ora 9

这是一个简短的方法:

sum(cumprod(a))
# [1] 3
Run Code Online (Sandbox Code Playgroud)

在哪里cumprod给出累积产品(在这种情况下为0和1); 因此,它TRUE在第一次之后消除了所有的FALSE,如同

cumprod(a)
# [1] 1 1 1 0 0 0 
Run Code Online (Sandbox Code Playgroud)