首页 > 解决方案 > 时间分区的枚举

问题描述

我有一系列观察结果如下所示,其中一个假设变量m=3

在此处输入图像描述

我要做的是找到所有可能的分区(间隔)。例如,在图片中呈现的情况下,如果我有一个时间块,它开始于t0,结束于t3

如果我有两个时间块,可以通过两种方式对其进行分区:[t0,t1][t1,t3][t0,t2][t2,t3].

如果我有三个时间块,我只有一个选择:[t0,t1][t1,t2][t2,t3]

我想列举所有这些可能性并计算以下内容:

在此处输入图像描述

我可以做系数,但我不能枚举所有分区。

我怎样才能在 R 中以一种仍然有效的方式来表达它m=100

标签: ralgorithmsequenceenumerationpartition

解决方案


m = 5i = 3。您需要2从向量中选择断点1:4。R 有这样做的内置方式:

> combn(4,2)
     [,1] [,2] [,3] [,4] [,5] [,6]
[1,]    1    1    1    2    2    3
[2,]    2    3    4    3    4    4

例如,第三列对应于

[t0,t1][t1,t4][t4,t5].

更一般地说,combn(m-1,i-1)将为分区生成切点。


推荐阅读