计算出现次数

kel*_*him 5 r

我有以下问题.我想计算小于或等于零的值的出现次数.在以下数据中的示例我有3次出现1(0,0,0),2(-1,-2),3(0,0).R中是否有任何函数构建来计算连续出现的次数.

a <- c(2,4,5,3,2,4,7,0,0,0,4,3,2,-1,-2,3,2,0,0,4)
Run Code Online (Sandbox Code Playgroud)

Jaa*_*aap 6

如果要计算值低于零的运行次数:

sum(rle(a <= 0)$values)
Run Code Online (Sandbox Code Playgroud)

这使:

[1] 3
Run Code Online (Sandbox Code Playgroud)

这是如何工作的:


Joh*_*man 5

你可以使用rle:

> sum(rle(a<=0)$values)
[1] 3
Run Code Online (Sandbox Code Playgroud)

说明:

rle打破所述载体引入运行其是> 0或<= 0.$values要么truefalse根据相应的运行是否满足谓词(a <= 0)或它的否定.您希望运行对应于该值TRUE,该函数将sum这些TRUEs 强制为1.