The hardware and bandwidth for this mirror is donated by dogado GmbH, the Webhosting and Full Service-Cloud Provider. Check out our Wordpress Tutorial.
If you wish to report a bug, or if you are interested in having us mirror your free-software or open-source project, please feel free to contact us at mirror[@]dogado.de.

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 ORCID iD [aut, cre, cph]
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:


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 times.

conf.level

Confidence level for the confidence bounds (default: 0.95).

Value

A list of class "duane" containing:

model

The fitted lm object.

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 "duane".

log

Logical; whether to use logarithmic scales for axes (default: TRUE).

conf.int

Logical; whether to plot confidence bounds (default: TRUE).

legend

Logical; whether to include a legend (default: TRUE).

legend.pos

Position of the legend (default: "topleft").

...

Further arguments passed to plot().

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 rga, which contains the results from the RGA model.

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 plot().

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 rga.

main

Title of the plot.

...

Additional arguments passed to plot().

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 rdt.

...

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 rga, which contains the results from the RGA model.

...

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 rga.

main

Title of the plot.

...

Additional arguments passed to stats::qqplot().

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 Crow-AMSAA (default) or ⁠Piecewise NHPP⁠ with change point detection.

breaks

An optional vector of breakpoints for the ⁠Piecewise NHPP⁠ model.

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)

These binaries (installable software) and packages are in development.
They may not be fully stable and should be used with caution. We make no claims about them.
Health stats visible at Monitor.