R 对序列中的块进行计数

R 对序列中的块进行计数,r,vector,count,R,Vector,Count,这是一个简单的问题,但我无法找到一个优雅的解决方案: 给出了以下向量系列: series=c(1,2,4,5,6,1,2,4,5,6,7,8,2,4) 现在我想计算同一个向量中这个向量的块数;e、 g.如果我的块大小为2,我想计算对1和2、2和4、4和5等(如果我计算正确,总共8个唯一块) 你能想出一个简单的方法来编程,这样我就可以收到一个输出矩阵,其中一列表示“唯一块号”,另一列表示计数?一个想法是可以使用zoo中的rollapply nrow(unique(rollapply(serie

这是一个简单的问题,但我无法找到一个优雅的解决方案:

给出了以下向量系列:

 series=c(1,2,4,5,6,1,2,4,5,6,7,8,2,4)
现在我想计算同一个向量中这个向量的块数;e、 g.如果我的块大小为2,我想计算对1和2、2和4、4和5等(如果我计算正确,总共8个唯一块)


你能想出一个简单的方法来编程,这样我就可以收到一个输出矩阵,其中一列表示“唯一块号”,另一列表示计数?

一个想法是可以使用
zoo
中的
rollapply

nrow(unique(rollapply(series, 2, by = 1, paste0)))
#[1] 8
您可以更改“2”以获得3、4等的组合(块大小)