我如何从第5行的Read中减去第1行中的Read并将其作为第1行中Read的值。然后重复这样从第6行中减去第2行中的Read,依此类推?然后将每组4行(相同的时间戳)加起来并用一个时间戳组成一行,这是所有四行的总和?
Time Meter Read
1 2017-03-20 14:15:00 1 22582640
2 2017-03-20 14:15:00 2 571893
3 2017-03-20 14:15:00 3 45906886
4 2017-03-20 14:15:00 4 1890581
5 2017-03-20 14:20:00 1 22582640
6 2017-03-20 14:20:00 2 571893
7 2017-03-20 14:20:00 3 45906993
8 2017-03-20 14:20:00 4 1890581
9 2017-03-20 14:25:00 1 22582640
10 2017-03-20 14:25:00 2 571893
11 2017-03-20 14:25:00 3 45907206
12 2017-03-20 14:25:00 4 1890581
13 2017-03-20 14:30:00 1 22582640
14 2017-03-20 14:30:00 2 571893
15 2017-03-20 14:30:00 3 45907206
16 2017-03-20 14:30:00 4 1890581
数据输入是:
structure(list(Time = structure(c(1490037300, 1490037300, 1490037300,
1490037300, 1490037600, 1490037600, 1490037600, 1490037600, 1490037900,
1490037900, 1490037900, 1490037900, 1490038200, 1490038200, 1490038200,
1490038200), class = c("POSIXct", "POSIXt"), tzone = ""), Meter = c(1,
2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4, 1, 2, 3, 4), Read = c(22582640L,
571893L, 45906886L, 1890581L, 22582640L, 571893L, 45906993L,
1890581L, 22582640L, 571893L, 45907206L, 1890581L, 22582640L,
571893L, 45907206L, 1890581L)), .Names = c("Time", "Meter", "Read"
), row.names = c(NA, 16L), class = "data.frame")
我想要的结果是:
1 2017-03-20 14:15:00 1 107
2 2017-03-20 14:20:00 1 213
等等。
如果不太复杂,我不需要引用Meter列。我可以删除该列,只是做一些偏移,因为格式将始终是4个条目。我得到了格式化的数据,但我不知道从哪里开始做我正在寻找的东西,因为这意味着消除了三行,我不确定这对后续计算的偏移有何影响。我想在计算中添加一个新列,但仍然无法弄清楚如何将总和推到一行。