Acceptance Sampling Plans Design.
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
- ๐ Attribute Sampling (Binomial, Poisson): Decisions based on defect counts
- ๐ Variable Sampling (Normal, Beta): Including compositional data
- โ๏ธ Risk-Based Optimization: Minimize sample size under
alpha
andbeta
constraints - ๐ OC Curve Visualization: Plot Operating Characteristic curves
- ๐ Custom Plan Comparison: Evaluate user-defined vs.ย optimized plans
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:
- Schilling, E.G., & Neubauer, D.V. (2017). Acceptance Sampling in Quality Control (3rd ed.). CRC Press.
- Wilrich, P.T. (2004). In Frontiers in Statistical Quality Control 7.
- Govindaraju, K., & Kissling, R. (2015). Quality Engineering, 27(1), 1โ13.
Contributing
Contributions, suggestions, and bug reports are welcome!
Please use GitHub Issues or submit a pull request.