R 比较后续行并查找重叠的时间间隔?

R 比较后续行并查找重叠的时间间隔?,r,dataframe,R,Dataframe,我有一个数据集,我们称之为“时间”: >Times如果你认为这是一个nxn比较,我想答案应该是某种不规则的频带矩阵。(如果频带矩阵不是您以前见过的术语,请查找。)此代码应测试第二列高端的重叠是否大于第一列,即重叠: Times <- read.table(text=" Num Start End 1 00:09:41 00:25:25 2 00:11:21 00:41:32 3 00:34:39

我有一个数据集,我们称之为“时间”:


>Times如果你认为这是一个nxn比较,我想答案应该是某种不规则的频带矩阵。(如果频带矩阵不是您以前见过的术语,请查找。)此代码应测试第二列高端的重叠是否大于第一列,即重叠:

 Times <- read.table(text="
 Num     Start          End
 1       00:09:41       00:25:25
 2       00:11:21       00:41:32
 3       00:34:39       00:58:01", stringsAsFactors=FALSE, header=TRUE)
 mdat <- outer(Times$Start, Times$End, function(x,y) y > x)
 mdat[upper.tri(mdat)|col(mdat)==row(mdat)] <- NA
 mdat
#------------------
      [,1] [,2] [,3]
[1,]    NA   NA   NA
[2,]  TRUE   NA   NA
[3,] FALSE TRUE   NA

时报非常感谢您的帮助!那肯定管用。现在,我只需要找出一种方法,让它在一个数据帧中显示所有的“TRUE”——用“Num”、“Start”和“End”列省略那些不重叠的列。
 Times <- read.table(text="
 Num     Start          End
 1       00:09:41       00:25:25
 2       00:11:21       00:41:32
 3       00:34:39       00:58:01", stringsAsFactors=FALSE, header=TRUE)
 mdat <- outer(Times$Start, Times$End, function(x,y) y > x)
 mdat[upper.tri(mdat)|col(mdat)==row(mdat)] <- NA
 mdat
#------------------
      [,1] [,2] [,3]
[1,]    NA   NA   NA
[2,]  TRUE   NA   NA
[3,] FALSE TRUE   NA