此处已回答了此问题的更一般版本。一位用户建议我将这个更具体的问题版本作为单独的帖子提出。
我有两个逻辑向量,如下所示:
x = c(0, 0, 0, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0)
y = c(0, 0, 1, 1, 0, 0, 1, 1, 0, 0, 0, 0, 0)
我想以这样的方式计算连续值范围之间的交叉点(在本例中为 1111),即在第一个向量中每次运行 1 最多计算一个交叉点。
使用sum(rle(x & y)$values)
上述答案,我可以将上述向量的交集总数计算为2,但我期望1。