| 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)