| Title: | Reliability Growth Analysis | 
| Version: | 0.2 | 
| Description: | Modeling and plotting functions for Reliability Growth Analysis (RGA). Models include the Duane (1962) <doi:10.1109/TA.1964.4319640>, Non-Homogeneous Poisson Process (NHPP) by Crow (1975) https://apps.dtic.mil/sti/citations/ADA020296, Piecewise Weibull NHPP by Guo et al. (2010) <doi:10.1109/RAMS.2010.5448029>, and Piecewise Weibull NHPP with Change Point Detection based on the 'segmented' package by Muggeo (2024) https://cran.r-project.org/package=segmented. | 
| Imports: | stats, graphics, segmented | 
| License: | CC BY 4.0 | 
| Encoding: | UTF-8 | 
| Suggests: | ellmer, knitr, rmarkdown, spelling, testthat (≥ 3.0.0), vdiffr | 
| Language: | en-US | 
| URL: | https://paulgovan.github.io/ReliaGrowR/, https://github.com/paulgovan/ReliaGrowR | 
| Config/testthat/edition: | 3 | 
| VignetteBuilder: | knitr | 
| BugReports: | https://github.com/paulgovan/ReliaGrowR/issues | 
| RoxygenNote: | 7.3.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2025-09-20 02:41:55 UTC; paulgovan | 
| Author: | Paul Govan  | 
| Maintainer: | Paul Govan <paul.govan2@gmail.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2025-09-21 22:10:24 UTC | 
ReliaGrowR: Reliability Growth Analysis
Description
Modeling and plotting functions for Reliability Growth Analysis (RGA). Models include the Duane (1962) doi:10.1109/TA.1964.4319640, Non-Homogeneous Poisson Process (NHPP) by Crow (1975) https://apps.dtic.mil/sti/citations/ADA020296, Piecewise Weibull NHPP by Guo et al. (2010) doi:10.1109/RAMS.2010.5448029, and Piecewise Weibull NHPP with Change Point Detection based on the 'segmented' package by Muggeo (2024) https://cran.r-project.org/package=segmented.
Author(s)
Maintainer: Paul Govan paul.govan2@gmail.com (ORCID) [copyright holder]
See Also
Useful links:
Report bugs at https://github.com/paulgovan/ReliaGrowR/issues
Duane Analysis
Description
This function performs a Duane analysis (1962) doi:10.1109/TA.1964.4319640 on failure data by fitting a log-log linear regression of cumulative MTBF versus cumulative time.
Usage
duane(times, failures, conf.level = 0.95)
Arguments
times | 
 A numeric vector of cumulative failure times.  | 
failures | 
 A numeric vector of the number of failures at each corresponding time in   | 
conf.level | 
 Confidence level for the confidence bounds (default:   | 
Value
A list of class "duane" containing:
model | 
 The fitted   | 
logLik | 
 The log-likelihood of the fitted model.  | 
AIC | 
 Akaike Information Criterion.  | 
BIC | 
 Bayesian Information Criterion.  | 
conf.level | 
 The confidence level.  | 
Cumulative_Time | 
 The cumulative operating times.  | 
Cumulative_MTBF | 
 The cumulative mean time between failures.  | 
Fitted_Values | 
 The fitted values on the MTBF scale.  | 
Confidence_Bounds | 
 Matrix of fitted values and confidence bounds on the MTBF scale.  | 
See Also
Other Duane functions: 
plot.duane(),
print.duane()
Examples
times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)
fit <- duane(times, failures, conf.level = 0.90)
print(fit)
Plot Method for Duane Analysis
Description
Generates a Duane plot (log-log or linear scale) with fitted regression line and optional confidence bounds.
Usage
## S3 method for class 'duane'
plot(
  x,
  log = TRUE,
  conf.int = TRUE,
  legend = TRUE,
  legend.pos = "topleft",
  ...
)
Arguments
x | 
 An object of class   | 
log | 
 Logical; whether to use logarithmic scales for axes (default:   | 
conf.int | 
 Logical; whether to plot confidence bounds (default:   | 
legend | 
 Logical; whether to include a legend (default: TRUE).  | 
legend.pos | 
 Position of the legend (default: "topleft").  | 
... | 
 Further arguments passed to   | 
Value
Invisibly returns NULL.
See Also
Other Duane functions: 
duane(),
print.duane()
Examples
times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)
fit <- duane(times, failures)
plot(fit, main = "Duane Plot", xlab = "Cumulative Time", ylab = "Cumulative MTBF")
Plot Method for RGA Objects
Description
This function generates plots for objects of class rga.
Usage
## S3 method for class 'rga'
plot(
  x,
  conf_bounds = TRUE,
  legend = TRUE,
  log = FALSE,
  legend_pos = "bottomright",
  ...
)
Arguments
x | 
 An object of class   | 
conf_bounds | 
 Logical; include confidence bounds (default: TRUE).  | 
legend | 
 Logical; show the legend (default: TRUE).  | 
log | 
 Logical; use a log-log scale (default: FALSE).  | 
legend_pos | 
 Position of the legend (default: "bottomright").  | 
... | 
 Additional arguments passed to   | 
Value
Invisibly returns NULL.
See Also
Other Reliability Growth Analysis: 
print.rga(),
rga()
Examples
times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)
result <- rga(times, failures)
plot(result, main = "Reliability Growth Analysis",
xlab = "Cumulative Time", ylab = "Cumulative Failures")
P-P Plot for RGA Objects
Description
This function creates a P-P plot for a fitted Reliability Growth Analysis (RGA) model Currently only supports the Crow-AMSAA model.
Usage
ppplot.rga(x, main = "P-P Plot", ...)
Arguments
x | 
 An object of class   | 
main | 
 Title of the plot.  | 
... | 
 Additional arguments passed to   | 
Value
A P-P plot comparing empirical and theoretical CDFs.
See Also
Other goodness-of-fit: 
qqplot.rga()
Examples
times <- c(5, 10, 15, 20, 25)
failures <- c(1, 2, 1, 3, 2)
fit <- rga(times, failures)
ppplot.rga(fit)
Print method for duane objects.
Description
This function prints a summary of the Duane analysis result.
Usage
## S3 method for class 'duane'
print(x, ...)
Arguments
x | 
 An object of class "duane" returned by the duane_plot function.  | 
... | 
 Additional arguments (not used).  | 
Value
Invisibly returns the input object.
See Also
Other Duane functions: 
duane(),
plot.duane()
Examples
times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)
fit <- duane(times, failures)
print(fit)
Print method for rdt objects
Description
This function provides a formatted print method for objects of class rdt.
Usage
## S3 method for class 'rdt'
print(x, ...)
Arguments
x | 
 An object of class   | 
... | 
 Additional arguments (not used).  | 
Value
Invisibly returns the input object.
Examples
plan <- rdt(target=0.9, mission_time=1000, conf_level=0.9, beta=1, n=10)
print(plan)
Print method for rga objects.
Description
Print method for rga objects.
Usage
## S3 method for class 'rga'
print(x, ...)
Arguments
x | 
 An object of class   | 
... | 
 Additional arguments (not used).  | 
Value
Invisibly returns the input object.
See Also
Other Reliability Growth Analysis: 
plot.rga(),
rga()
Examples
times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)
result <- rga(times, failures)
print(result)
Q-Q Plot for RGA Objects
Description
This function creates a Q-Q plot for a fitted Reliability Growth Analysis (RGA) model Currently only supports the Crow-AMSAA model.
Usage
qqplot.rga(x, main = "Q-Q Plot", ...)
Arguments
x | 
 An object of class   | 
main | 
 Title of the plot.  | 
... | 
 Additional arguments passed to   | 
Value
A Q-Q plot comparing empirical and theoretical quantiles.
See Also
Other goodness-of-fit: 
ppplot.rga()
Examples
times <- c(5, 10, 15, 20, 25)
failures <- c(1, 2, 1, 3, 2)
fit <- rga(times, failures)
qqplot.rga(fit)
Reliability Demonstration Test (RDT) Plan Calculator
Description
This function calculates the required test time or sample size for a Reliability Demonstration Test (RDT) based on specified reliability, mission time, confidence level, and Weibull shape parameter.
Usage
rdt(target, mission_time, conf_level, beta = 1, n = NULL, test_time = NULL)
Arguments
target | 
 Required reliability at mission time (0 < target < 1).  | 
mission_time | 
 Mission duration (time units).  | 
conf_level | 
 Desired confidence level (e.g., 0.9 for 90% confidence).  | 
beta | 
 Weibull shape parameter (beta=1 corresponds to exponential distribution).  | 
n | 
 Sample size (optional, supply if solving for test_time).  | 
test_time | 
 Test time per unit (optional, supply if solving for n).  | 
Value
The function returns an object of class rdt that contains:
Distribution | 
 Type of distribution used (Exponential or Weibull).  | 
Beta | 
 Weibull shape parameter.  | 
Target_Reliability | 
 Specified target reliability.  | 
Mission_Time | 
 Specified mission time.  | 
Required_Test_Time | 
 Calculated required test time (if n is provided).  | 
Input_Sample_Size | 
 Provided sample size (if test_time is calculated).  | 
Required_Sample_Size | 
 Calculated required sample size (if test_time is provided).  | 
Input_Test_Time | 
 Provided test time (if n is calculated).  | 
Examples
#' # Example 1: Calculate required test time
plan1 <- rdt(target=0.9, mission_time=1000, conf_level=0.9, beta=1, n=10)
print(plan1)
# Example 2: Calculate required sample size
plan2 <- rdt(target=0.9, mission_time=1000, conf_level=0.9, beta=1, test_time=2000)
print(plan2)
Reliability Growth Analysis.
Description
This function performs reliability growth analysis using the Crow-AMSAA model by Crow (1975) https://apps.dtic.mil/sti/citations/ADA020296 or piecewise NHPP model by Guo et al. (2010) doi:10.1109/RAMS.2010.5448029.
Usage
rga(
  times,
  failures,
  model_type = "Crow-AMSAA",
  breaks = NULL,
  conf_level = 0.95
)
Arguments
times | 
 A vector of cumulative failure times.  | 
failures | 
 A vector of the number of failures at each corresponding time in times.  | 
model_type | 
 The model type. Either   | 
breaks | 
 An optional vector of breakpoints for the   | 
conf_level | 
 The desired confidence level, which defaults to 95%.  | 
Value
The function returns an object of class rga that contains:
model | 
 The fitted model object (lm or segmented).  | 
logLik | 
 The log-likelihood of the fitted model.  | 
AIC | 
 Akaike Information Criterion.  | 
BIC | 
 Bayesian Information Criterion.  | 
breakpoints | 
 Breakpoints (log scale) if applicable.  | 
fitted_values | 
 Fitted cumulative failures on the original scale.  | 
lower_bounds | 
 Lower confidence bounds (original scale).  | 
upper_bounds | 
 Upper confidence bounds (original scale).  | 
betas | 
 Estimated beta(s).  | 
lambdas | 
 Estimated lambda(s).  | 
See Also
Other Reliability Growth Analysis: 
plot.rga(),
print.rga()
Examples
times <- c(100, 200, 300, 400, 500)
failures <- c(1, 2, 1, 3, 2)
result <- rga(times, failures)
print(result)
Weibull to RGA
Description
Converts Weibull data (failure, suspension, and interval-censored times) into a format suitable for reliability growth analysis (RGA).
Usage
weibull_to_rga(
  failures,
  suspensions = NULL,
  interval_starts = NULL,
  interval_ends = NULL
)
Arguments
failures | 
 A numeric vector of exact failure times.  | 
suspensions | 
 A numeric vector of suspension (right-censored) times.  | 
interval_starts | 
 A numeric vector of interval start times (lower bound of censoring).  | 
interval_ends | 
 A numeric vector of interval end times (upper bound of censoring).  | 
Value
A data frame with cumulative time and failure counts suitable for RGA.
Examples
failures <- c(100, 200, 200, 400)
suspensions <- c(250, 350, 450)
interval_starts <- c(150, 300)
interval_ends <- c(180, 320)
result <- weibull_to_rga(failures, suspensions, interval_starts, interval_ends)
print(result)