我有这个示例数据框,它跟踪灯的打开和关闭时间。
time lamp status
1 2015-01-01 12:18:17 2 ON
2 2015-01-01 13:07:29 28 ON
3 2015-01-01 13:11:50 28 OFF
4 2015-01-01 13:18:28 2 OFF
5 2015-01-01 14:07:29 28 ON
6 2015-01-01 14:11:35 28 OFF
7 2015-01-01 14:18:28 2 ON
5 2015-01-01 14:18:57 2 OFF
我想要实现的是添加第四列,其中包含打开灯的持续时间(以秒为单位)。
所需的输出:
time lamp status duration
1 2015-01-01 12:18:17 2 ON 3611
2 2015-01-01 13:07:29 28 ON 261
3 2015-01-01 13:11:50 28 OFF NA
4 2015-01-01 13:18:28 2 OFF NA
5 2015-01-01 14:07:29 28 ON 246
6 2015-01-01 14:11:35 28 OFF NA
7 2015-01-01 14:18:28 2 ON 29
5 2015-01-01 14:18:57 2 OFF NA
我已经使用自定义函数成功地做到了这一点,包括 while 和 for 循环。但是...我是 R 的初学者,我很确定这可以做得更简单和优雅(使用子集、应用和/或....)。我就是想不通怎么办?
任何想法,在正确的方向引导?