常にレベルX、Y、またはZのいずれかにある3つのプロセスA、B、およびCを監視しています。プロトコルは、プロセスがレベルを変更したときに記録します。
df = read.csv(tc <- textConnection('Time1,Process1,Level1
2013-01-09 18:00:34,A,X
2013-01-09 18:00:34,B,Y
2013-01-09 18:00:34,C,X
2013-01-09 22:00:59,A,Z
2013-01-10 00:10:38,A,X
2013-01-10 18:38:35,B,Z
2013-01-11 05:03:11,A,Z
2013-01-11 11:09:10,C,Y
2013-01-11 12:01:18,A,Off
2013-01-11 12:01:18,B,Off
2013-01-11 12:01:18,C,Off
'),header=TRUE)
close.connection(tc)
df$Time1 = as.POSIXct(df$Time1)
監視は2013-01-0918:00:34に開始され、2013-01-1112:01:18にオフになりました。2013-01-0918:00:34と2013-01-0922:00:59の間プロセスAはレベルXで、2013-01-0922:00:59と2013-01-10000:10の間: 38プロセスAはレベルZにありました。
グラフ化の目的で、各深夜の各プロセスの最後と最初のレベルの状態をプロトコルに挿入します。
2013-01-09 23:59:59,A,Z
2013-01-10 00:00:00,A,Z
2013-01-10 23:59:59,A,X
2013-01-11 00:00:00,A,X
2013-01-09 23:59:59,B,Y
2013-01-10 00:00:00,B,Y
2013-01-10 23:59:59,B,Z
2013-01-11 00:00:00,B,Z
2013-01-09 23:59:59,C,X
2013-01-10 00:00:00,C,X
2013-01-10 23:59:59,C,X
2013-01-11 00:00:00,C,X
23:59:59から00:00:00の間にログにイベントがないと想定しても問題ありません。最後に、プロトコルは挿入後にTime1でソートされます(自分で理解できます)。どんな指導も大歓迎です!