R 如何将一行与下一行进行比较?

R 如何将一行与下一行进行比较?,r,R,我想能够比较超过30个变量中的2个变量的值。 示例数据如下所示: A, B 0, 2014-05-01 13 30, 2014-05-02 14 30, 2014-05-02 15 60, 2014-05-02 15 30, 2014-05-03 08 60, 2014-05-03 09 A是一个数字。 B是格式为-%Y-%m-%d%H的时间戳。 现在,我想提取从一行到下一行的日期相同的行。并且,该小时在上述行的一小时内。(因此,对于第一行,如果日期为5月14日和上午9点,而第一行+1的日期为

我想能够比较超过30个变量中的2个变量的值。 示例数据如下所示:

A, B
0, 2014-05-01 13
30, 2014-05-02 14
30, 2014-05-02 15
60, 2014-05-02 15
30, 2014-05-03 08
60, 2014-05-03 09
A是一个数字。 B是格式为-%Y-%m-%d%H的时间戳。 现在,我想提取从一行到下一行的日期相同的行。并且,该小时在上述行的一小时内。(因此,对于第一行,如果日期为5月14日和上午9点,而第一行+1的日期为5月14日,小时数为8、9或10。然后,它将在单独的数据框中被拉出,r绑定满足条件的每一行

在上面的数据上运行它,结果将是

30, 2014-05-02 15
60, 2014-05-02 15
60, 2014-05-03 09

这是润滑油的作业:

dat <- data.frame(A = c(0,30,30,60,30,60), B =  
c("2014-05-01 13","2014-05-02 14","2014-05-02 15","2014-05-02 15","2014-05-03 08","2014-05-03 09"),
stringsAsFactors = FALSE)

library(dplyr)
library(lubridate)

如果有助于提高清晰度,请随意编辑该问题。谢谢。到目前为止,您到底尝试了什么?提取到一个单独的data.frame如何?每个块一个?还是仅一个data.frame?将行添加到dataframe。我想知道Hadley是如何认识到需要这些函数的。是否有来自另一种语言的包,他提取了inspirations from?@Vlo也许他使用了黑魔法!尽管我经常想知道用户是否找到了他和其他开发人员从未想象过的应用程序。。
dat %>%
  mutate(B = ymd_h(B),
         close = B <= lag(B + dhours(1))) %>%
  filter(close)

A                   B close
1 30 2014-05-02 15:00:00  TRUE
2 60 2014-05-02 15:00:00  TRUE
3 60 2014-05-03 09:00:00  TRUE