【发布时间】:2016-05-19 13:45:34
【问题描述】:
我有这个示例数据框,它记录了灯打开和关闭的时间。
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 的初学者,我很确定这可以做得更简单和优雅(使用子集、应用和/或....)。我就是不知道怎么弄?
有什么想法,有正确方向的线索吗?
【问题讨论】:
-
您的“时间”列是 Posix 格式吗?
-
@agenis:是的。
-
好的,谢谢。我刚刚修改了我的答案
标签: r dataframe subset difftime