我能够创建累积频率分配时间基础并创建图表。
breaks = seq(as.Date('2013-01-01'),as.Date('2013-11-07'),by = 1)
dates=as.Date(Failures$Event_Date)
cum.freq=cbind.data.frame(table(cut.Date(as.Date(dates), as.Date(breaks), right=FALSE)))
result=cbind.data.frame(cum.freq,cumsum(cum.freq$Freq))
qplot(x=as.Date(Var1), y=cumsum(cum.freq$Freq), data=result,
xlab="Date", ylab="Cumulative Failures",
main="Frequency Distribution for failures",
alpha=I(.5)) + scale_x_date(breaks = date_breaks("4 weeks"),
labels = date_format("%m/%d"))
对象中断和cut.Date
函数允许我将所有数据放在一个时间间隔内,而不仅仅是基于样本大小。如果我不考虑这一点,曲线和趋势线是完全不同的。
有了这个限制,我需要使用剪切或类似函数,以便将另一个名为Category
的变量作为数据系列添加到图中,并可以在plot
中使用group选项。
例如:
Event_Date Fault_Code Category
06/10/13 NA CAT1
17/05/13 10 CAT2
10/07/13 45 CAT3
11/06/13 15 CAT4
11/06/13 15 CAT4
23/08/13 16 CAT5
25/05/13 1 CAT5
28/10/13 1 CAT5
12/09/13 1 CAT5
05/06/13 NA CAT5
05/06/13 NA CAT5
12/06/13 NA CAT5
21/02/13 10 CAT5
25/06/13 NA CAT5
25/06/13 2 CAT5
17/05/13 2 CAT5
可以使用cut
或cut.Date
来划分样本数据的范围,不仅Event_Date
也适用于Category
?
另一种选择是使用dcast()
,但在Category
之后转换cut
以获得所有休息时间。