gpt4 book ai didi

R - end1 == start2 的连续情况序列

转载 作者:行者123 更新时间:2023-12-01 11:01:03 25 4
gpt4 key购买 nike

获取此数据集...

test <- data.frame(
t1=c(2,3,5,6,7,10,10),
t2=c(3,4,6,7,8,11,12),
id=1:7
)

...看起来像这样。澄清一下,每一行都是先前确定的必须保持绑定(bind)在一起的两个案例的链接。

  t1 t2 id
1 2 3 1
2 3 4 2
3 5 6 3
4 6 7 4
5 7 8 5
6 10 11 6
7 10 12 7

我希望递归地识别基于 t2 == t1 的连续序列,以便链接是:

link1 -  2-3,3-4
link2 - 5-6,6-7,7-8
link3 - 10-11
link4 - 10-12

我正在寻找的最终结果是:

  t1 t2 id matchid
1 2 3 1 1
2 3 4 2 1
3 5 6 3 2
4 6 7 4 2
5 7 8 5 2
6 10 11 6 3
7 10 12 7 4

我已经尝试使用 match(test$t2,test$t1) 来获取初始链接,但现在我陷入了如何继续链接过程的困境。我的想法不断回到使用循环,这听起来像是一种糟糕的方法。

最佳答案

这是一种方法:

test$matchid <- c(1, 1 + cumsum(tail(test$t1, -1) != head(test$t2, -1)))

关于R - end1 == start2 的连续情况序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10695283/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com