计算一系列的块

时间:2016-06-06 09:27:01

标签: r vector count

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

给出以下矢量系列:

 series=c(1,2,4,5,6,1,2,4,5,6,7,8,2,4)

我现在想在同一个向量中计算这个向量的块;例如如果我的块大小为2,我想计算对1& 2,2& 4,4& 5等等(如果我正确计数,则总计8个唯一的块)。

您能想到一种简单的编程方式,以便我收到一个输出矩阵,其中包含“唯一块编号”列和相应的计数列吗?

1 个答案:

答案 0 :(得分:1)

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

nrow(unique(rollapply(series, 2, by = 1, paste0)))
#[1] 8

您可以更改' 2'获得3,4等的组合(块大小)......