我需要帮助。我有一些类似于这样的数据。
Machine Start Stop ServiceType
1 XX 2014-12-04 <NA> AA
2 XX 2013-09-05 2013-11-05 BB
3 XX 2013-11-21 2014-09-25 BB
4 XX 2013-10-11 2014-11-18 BB
5 XX 2021-12-03 <NA> AA
6 XX 2020-08-06 2022-09-15 AA
7 XX 2021-06-10 <NA> BB
8 YY 2020-01-17 <NA> BB
9 YY 2015-11-04 2018-04-30 BB
10 YY 2016-05-28 2019-03-21 BB
11 YY 2019-09-27 <NA> BB
12 YY 2018-01-05 <NA> AA
因此,我想要做的是生成一个新变量,称之为Maintenance或其他名称,如果只有一种服务类型处于活动状态,则该变量为AA
或BB
,如果AA
和BB
都重叠,则为CC
。例如:
Machine Date Maintenance
1 XX 2013-09-05 BB
2 XX 2013-11-21 BB
3 XX 2013-10-11 AA
4 XX 2014-12-04 CC
5 XX 2021-12-03 AA
6 YY 2015-11-04 BB
7 YY 2016-05-28 CC
8 YY 2020-01-17 BB
我一直在使用dplyr
和lubridate
,但我不太确定如何执行这个任务,需要帮助。
ps. 在这种情况下,NA
可以被视为机器永远运行该服务。
ServiceType
是AA
,则将Maintenance
设置为AA
。如果ServiceType
是BB
,则将Maintenance
设为BB
。现在,考虑到这两种服务类型可能重叠的日期,即AA和BB
,那么Maintenance
将被设置为CC
。此外,关于Date
输出类型,我不确定如何在 R 中正确处理日期。只有一个时间变量会在以后的绘图/总结中有所帮助。 - Puckz