在R中查找组内连续行之间的差异

在R中查找组内连续行之间的差异,r,dataframe,R,Dataframe,我是R的新手。我的数据帧如下所示: group start end A 34 77 A 100 140 A 185 246 B 60 98 B 146 186 C 250 315 C 411 489 C 510 550 C 601 662 我想找出连续行之间的区别如下: group start end A 78 99 A 141 184

我是R的新手。我的数据帧如下所示:

group start end
    A  34   77
    A  100  140
    A  185  246 
    B  60    98
    B  146   186 
    C  250   315
    C  411   489
    C  510   550
    C  601   662
我想找出连续行之间的区别如下:

group start end 
    A  78  99
    A  141 184
    B  99  145
    C  316 410
    C  490 509
    C  551 600

任何小小的帮助都将不胜感激。提前感谢

我们可以尝试使用
数据表

library(data.table)
setDT(df1)[,.(start = (start+end - start +1)[-.N], 
           end = (end +shift(start, type='lead')-end-1)[-.N] ) , by = group]  
#   group start end
#1:     A    78  99
#2:     A   141 184
#3:     B    99 145
#4:     C   316 410
#5:     C   490 509
#6:     C   551 600

我得到的是
100-34=66
而不是78。请详细说明从输入到输出的过程。我想计算组内条目之间差距的开始和结束。对于“组”A中的eg,前两个条目之间的开始和结束间隔为78和99。类似地,第二个和第三个条目之间的间隙的起点和终点分别为141和184,依此类推。简而言之,我想找出第一个条目(77)的“结束”和下一个条目(99)的开始之间的差距。@Chudar更新了帖子。请检查这是否有帮助