不包括R的difftime的周末或非营业时间

时间:2016-01-26 16:42:48

标签: r datetime

下面的数据框包含与记录和解决事件的时间相关的时间戳。向量ResolutionDiff包含由以下语句计算的已解决和已记录向量的分钟差异:

dataset$ResolutionDiff <- difftime(dataset$Resolved, dataset$Logged)

| Reportnumber | Priority | Logged          | Resolved        | ResolutionDiff     | netdifftime |
|--------------|----------|-----------------|-----------------|--------------------|-------------|
| 1            | High     | 22/1/2016 17:52 | 25/1/2016 13:35 | 406288333333333,00 |             |
| 2            | Medium   | 18/1/2016 13:09 | 22/1/2016 12:55 | 5745.7             |             |
| 3            | Medium   | 15/1/2016 10:47 | 18/1/2016 13:06 | 445876666666667,00 |             |
| 4            | Medium   | 15/1/2016 10:32 | 18/1/2016 13:04 | 447173333333333,00 |             |
| 5            | High     | 14/1/2016 14:13 | 14/1/2016 15:33 | 792333333333333,00 |             |

我正在尝试通过有条件地从ResolutionDiff中减去非工作时间来计算向量netdifftime,例如周末时dataset$Priority !=High。例如,对于第1行,netdifftime中的预期输出将为4062.883 - (48 * 60)= 1183。

有没有办法在R中执行此类任务?我一直在挖掘像lubridate这样的库,并怀疑可能的解决方案是创建一个周期间隔的临时变量,然后可以根据数据集的相应间隔检查$ Resolved,dataset $ Logged,但是还没有成功工作

1 个答案:

答案 0 :(得分:-1)

I ran in to the same question and ended up writing a function for that, and later build a package for it.
https://github.com/janzzon/difftimeOffice