在R中进行计算后如何合并数据帧的行
我将如何从第5行中减去第1行中的Read,并将其作为第1行中Read的值。然后重复,从第6行减去第2行中的读数,依此类推?然后将每组4行(相同的时间戳)相加,并用该时间戳(即所有四行的总和)生成一行在R中进行计算后如何合并数据帧的行,r,dataframe,R,Dataframe,我将如何从第5行中减去第1行中的Read,并将其作为第1行中Read的值。然后重复,从第6行减去第2行中的读数,依此类推?然后将每组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 4590
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
数据的dput是:
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
等等
我不需要参考米栏,如果这使它不那么复杂。我可以删除该列,只需进行某种偏移,因为格式将始终是4个条目的组合。到目前为止,我已将数据格式化,但我不知道从何处开始执行我正在寻找的操作,因为这意味着删除三行,我不确定这会如何影响后续计算的偏移量。我想在计算中添加一个新的列,但仍然不知道如何将总和滚动到一行。我看不出结果107是如何构造的(第1、5、9和13行中的值都是相同的)。对,这是5和1、6和2、7和3之间的差异,8和4加在一起,得到一个数字作为第一时间戳。第一组4人和第二组4人的唯一区别是米3。这就是107号的来源。你想要最后一张时间戳做什么?第13-16行没有任何可减去的内容,所以答案是
NA
、省略还是其他什么?m