绘制一条直线到累积出现图

Plotting a straight line to cumulative occurance graph

我有一个机器故障数据,其中有一列定义了故障间隔时间 (tbf)

structure(list(tbf = c(2441, 2934, 4285, 2285, 4027, 2419, 2437, 2519, 3294, 2858, 3023, 2567, 3112, 2283, 3068, 2215, 3915, 2354.290323, 2477, 2258, 2742.5, 5198, 2837, 3282, 2474, 2883, 3837, 5054, 4874, 3559.5, 2783, 4246, 2602)), .Names = "tbf", class = "data.frame", row.names = c(NA, -33L))

我想绘制一个累积出现图。我可以使用

library(ggplot2)
ggplot(mydf, aes(x = tbf)) + stat_ecdf()

创建如下图

但是,我想要一条直线适合这个情节。我不想要不均匀的线条,而是适合它的直线。我试过了

library(dplyr)
# add cumulative time and failures
mydf <-  mydf %>% mutate(cumm_time = cumsum(tbf), cumm_fmode = row_number())

# fit linear regression
fit <- lm(cumm_time ~ cumm_fmode, data = mydf)
# plot points
plot(mydf$cumm_time, mydf$cumm_time)
# plot straight line
abline(fit)

但是,我得到了下图::

我的要求是得到一个类似::

的数字

我哪里弄错了?任何帮助将不胜感激。

您似乎想绘制两个轴上具有相同变量的图?从这一行:plot(mydf$cumm_time, mydf$cumm_time),可能有错别字,或者您正在用数据的因变量 (cumsum(tbf)) 在 X 轴和 Y 轴上绘制图表。

我假设您要输入 plot(mydf$cumm_fmode, mydf$cumm_time)

如果你这样做,那么你的其余代码就没问题了。

plot(mydf$cumm_fmode, mydf$cumm_time)
abline(fit)

给予