如果我有一个范围的数据框:
start end
12 18
22 30
35 40
49 70
81 90
102 110
120 124
如何获取行距在R中某个上下阈值之内的行(即,下一行的开始-前一行的末尾在该阈值之内)?
比方说,我想得到的行距在5到10之间,那么我想得到:
start.1 end.1 start.2 end.2
22 30 35 40
35 40 49 70
102 110 120 124
在这里,开始2-结束1始终在5到10之间。
答案 0 :(得分:2)
$("#Login_Logout_Time").prop('readOnly', true)
答案 1 :(得分:1)
使用基数R的一种方法
#Get the difference between consecutive start and end values
diffs <- df$start[-1] - df$end[-nrow(df)]
#Get indices where the condition of difference is satisfied
rows_inds <- which(diffs >= 5 & diffs <= 10)
#cbind the rows present in row_inds and next row
df1 <- cbind(df[rows_inds, ], df[rows_inds + 1, ])
#Make the columns name unique
names(df1) <- make.unique(names(df1))
df1
# start end start.1 end.1
#2 22 30 35 40
#3 35 40 49 70
#6 102 110 120 124