Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/70.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 使用向量化函数计算向量中最大数量的连续零_R_Vectorization - Fatal编程技术网

R 使用向量化函数计算向量中最大数量的连续零

R 使用向量化函数计算向量中最大数量的连续零,r,vectorization,R,Vectorization,我想构建一个函数,它将向量作为参数,并返回最大数量的连续零。例如: a <- c(0,0,1,1,0) b <- c(0,1,3,10,0,0,0) x <- count_max_consecutive_zeros(a) y <- count_max_consecutive_zeros(b) a您可以使用rle和max来计算最大数量的连续零 x带有rleid的选项 library(data.table) max(tapply(a[a==0], rleid(a)[a ==

我想构建一个函数,它将向量作为参数,并返回最大数量的连续零。例如:

a <- c(0,0,1,1,0)
b <- c(0,1,3,10,0,0,0)
x <- count_max_consecutive_zeros(a)
y <- count_max_consecutive_zeros(b)

a您可以使用
rle
max
来计算最大数量的连续零


x带有
rleid的选项

library(data.table)
max(tapply(a[a==0], rleid(a)[a == 0], FUN = length))
#[1] 2

非常感谢,先生!这正是我要找的!当然是一个不错的选择,但我不想再增加一个依赖性。我想我会坚持@GKi的解决方案
x <- rle(a==0)
max(x$lengths[x$values == TRUE])
#[1] 2
library(data.table)
max(tapply(a[a==0], rleid(a)[a == 0], FUN = length))
#[1] 2