我能够创建累积频率分布时间基础并创建绘图。
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
函数允许我将所有数据分布在一个时间间隔内,而不仅仅是基于样本大小。如果我不考虑这一点,曲线和趋势线是完全不同的。
有了这个限制,我需要使用 cut 或类似的函数来添加另一个变量Category
作为数据系列命名到图中,并可能在plot
.
例如:
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
的内容以获得所有休息时间。