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)