每次有正值时分割一个向量,并计算每个段中的零数,以将它们全部放入R中的一个新向量中

每次有正值时分割一个向量,并计算每个段中的零数,以将它们全部放入R中的一个新向量中,r,R,我试图找到这个问题的答案,但没有找到。我不确定这个标题是否很有用,但我想做的是,在一个向量中,在一个正值之前计算0的数量,每次我在向量中有0后跟一个正值时,都要这样做,以便将其放入一个向量中。换句话说,我想把我的第一个向量分成包含0和后面第一个正数的段,计算每个段中0的数量,然后把每个段中0的数量放到一个新向量中。可能是一个更好的例子: 如果我有: x如果只需要0的运行长度计数,可以使用运行长度编码(rle())函数 x x <- c(0,0,5,0,1,0,0,4) with(rle(x

我试图找到这个问题的答案,但没有找到。我不确定这个标题是否很有用,但我想做的是,在一个向量中,在一个正值之前计算0的数量,每次我在向量中有0后跟一个正值时,都要这样做,以便将其放入一个向量中。换句话说,我想把我的第一个向量分成包含0和后面第一个正数的段,计算每个段中0的数量,然后把每个段中0的数量放到一个新向量中。可能是一个更好的例子:

如果我有:


x如果只需要0的运行长度计数,可以使用运行长度编码(
rle()
)函数

x
x <- c(0,0,5,0,1,0,0,4)
with(rle(x), lengths[values==0])
# [1] 2 1 2