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