AccSamplingDesign

An R package for designing and analyzing acceptance sampling plans
πŸ“¦ Now available on CRAN! πŸŽ‰ β€”

Overview

The AccSamplingDesign package provides flexible tools to create and evaluate acceptance sampling plans in quality control, for both attributes (pass/fail) and variables (measurable) data. It supports optimization using nonlinear programming (NLP) to meet specified risks while minimizing the required sample size.

Key Features


Installation

# Install from CRAN
install.packages("AccSamplingDesign")

# Or install development version from GitHub
devtools::install_github("vietha/AccSamplingDesign")

# Load the package
library(AccSamplingDesign)

Examples

πŸ“Œ Attribute Sampling (Binomial)

plan_attr <- optPlan(
  PRQ = 0.01,   # Acceptable quality
  CRQ = 0.05,   # Rejectable quality
  alpha = 0.02, # Producer's risk
  beta = 0.15,  # Consumer's risk
  distribution = "binomial"
)

summary(plan_attr)
accProb(plan_attr, 0.03)  # P(accept) if 3% defective
plot(plan_attr)           # OC curve

πŸ“Œ Variable Sampling (Normal, Known Sigma)

plan_var <- optPlan(
  PRQ = 0.025,
  CRQ = 0.1,
  alpha = 0.05,
  beta = 0.10,
  distribution = "normal",
  sigma_type = "known"
)

summary(plan_var)
plot(plan_var)

πŸ“Œ Variable Sampling (Normal, Unknown Sigma)

plan_var2 <- optPlan(
  PRQ = 0.025,
  CRQ = 0.1,
  alpha = 0.05,
  beta = 0.10,
  distribution = "normal",
  sigma_type = "unknown"
)

summary(plan_var2)

πŸ“Œ Variable Sampling (Beta, Known Theta)

plan_beta <- optPlan(
  PRQ = 0.05,
  CRQ = 0.2,
  alpha = 0.05,
  beta = 0.10,
  distribution = "beta",
  theta = 44000000,
  theta_type = "known",
  LSL = 0.00001         # Lower Specification Limit
)

summary(plan_beta)
plot(plan_beta)              # By defect level
plot(plan_beta, by = "mean") # By mean value

πŸ“Œ Variable Sampling (Beta, Unknown Theta)

plan_beta <- optPlan(
  PRQ = 0.05,
  CRQ = 0.2,
  alpha = 0.05,
  beta = 0.10,
  distribution = "beta",
  theta = 44000000,
  theta_type = "unknown",
  LSL = 0.00001
)

summary(plan_beta)
plot(plan_beta)              # By defect level
plot(plan_beta, by = "mean") # By mean value

πŸ“Œ Compare Custom vs.Β Optimal Plans

pd <- seq(0, 0.15, by = 0.001)

oc_opt <- OCdata(plan = plan_attr, pd = pd)

mplan1 <- manualPlan(n = plan_attr$n, c = plan_attr$c - 1, distribution = "binomial")
oc_alt1 <- OCdata(plan = mplan1, pd = pd)

plot(pd, oc_opt$paccept, type = "l", col = "blue", lwd = 2,
     xlab = "Proportion Defective", ylab = "Probability of Acceptance",
     main = "OC Curves Comparison for Attributes Sampling Plan")
lines(pd, oc_alt1$paccept, col = "red", lwd = 2, lty = 2)
legend("topright", legend = c("Optimal Plan", "Manual Plan (c - 1)"),
       col = c("blue", "red"), lty = c(1, 2), lwd = 2)

Additional Notes

This README provides a quick start for using the AccSamplingDesign package. For a full discussion of the statistical foundations, models, and optimization methods used, please refer to the foundation sources such as:


Contributing

Contributions, suggestions, and bug reports are welcome!
Please use GitHub Issues or submit a pull request.