IQCC implements Improved Quality Control Charts: statistical process control charts with exact, corrected, standardized, or simulation-based limits for univariate and multivariate monitoring.
The package is motivated by a recurring practical problem in classical Shewhart-type control charts: when the statistic being monitored is discrete, skewed, bounded, or strongly non-normal, usual normal-based three-sigma limits can be badly misplaced. In those cases, the nominal false-alarm risk may differ substantially from the actual one. IQCC keeps the familiar control-chart workflow while exposing numerical functions that make limits, risk, ARL, and sample-size calculations reproducible and testable.
tr(V) variability charts.| Monitoring problem | Function(s) | Implemented methods | Notes |
|---|---|---|---|
| Mean of a univariate process |
cchart.Xbar(), cchart.Xbar1(), cchart.Xbar2(), cchart.Xbar_R()
|
Shewhart-type X-bar charts | Includes X-bar/R workflows. |
| Range / process dispersion |
r_shewhart_limits(), r_exact_limits(), cchart.R()
|
Shewhart R chart; exact Tukey-based R chart | Exact limits use the relative-range distribution. |
| Standard deviation |
s_shewhart_limits(), s_exact_limits(), cchart.S()
|
Conventional S chart; exact chi-square-based S chart | Exact limits use the sample-variance distribution; the wrapper preserves the historical qcc centering convention. |
| Nonconforming proportion |
pchart_limits(), pchart_alpha_risk(), cchart.p()
|
Normal, CF1, CF2, and standardized p charts | Includes exact binomial false-alarm evaluation and pooled estimation. |
| Double-sampling np chart |
dsnp_prob_accept(), dsnp_arl(), dsnp_ass(), dsnp_limits(), dsnp_design(), cchart.DSnp()
|
Exact-binomial DS-np performance, design search, and chart | Two-stage sampling for high-quality processes with small samples; supports complete and curtailed inspection conventions. |
| Nonconformities per unit |
uchart_limits(), uchart_alpha_risk(), cchart.u()
|
Normal, CF1, CF2, and standardized u charts | Includes exact Poisson risk and pooled rate estimation. |
| Multivariate mean vector |
T2.1(), T2.2(), cchart.T2.1(), cchart.T2.2()
|
Hotelling T² charts for Phase I and Phase II | Supports individual and subgroup observations. |
| Multivariate variability |
gv_stat(), gv_limits(), gv_alpha_risk(), cchart.GV()
|
Normal, Cornish-Fisher, selected exact, and simulation-based generalized variance charts | Exact dimension-two limits and selected published dimension-three quantiles. |
| Multivariate variability structure |
trv_stat(), trv_limits(), trv_alpha_risk(), cchart.trV()
|
Exact chi-square and simulation-based trace-statistic charts | Complements ` |
| Relative range constants |
d2(), d3()
|
Numerical integration using Tukey distribution functions | Used by range-chart calculations and validation. |
| False-alarm risk for R charts | alpha.risk() |
Exact false-alarm probability for the classical three-sigma R chart | Diagnoses inflated false-alarm risk. |
Install the CRAN version:
install.packages("IQCC", dependencies = TRUE)
Install the development version from GitHub:
# remotes::install_github("flaviobarros/IQCC")
install.packages("IQCC", repos = c('https://flaviobarros.r-universe.dev', 'https://cloud.r-project.org'))
library(IQCC)
# X-bar and R charts
data(pistonrings)
cchart.Xbar_R(pistonrings[1:25, ], 5)
# Exact R chart using Phase I data to estimate sigma
cchart.R(
pistonrings[26:40, ],
5,
type = "tukey",
y = pistonrings[1:25, ]
)
# Pure S-chart limits without plotting
s_exact_limits(sigma = 1, n = 5)
s_shewhart_limits(sigma = 1, n = 5)
# p-chart limits and exact false-alarm risk
p_limits <- pchart_limits(p = 0.015, n = 20, type = "cf2")
pchart_alpha_risk(
p = 0.015,
n = 20,
lcl = p_limits$lcl,
ucl = p_limits$ucl
)
# u-chart with pooled Phase I rate and CF2 limits
data(moonroof)
cchart.u(
x1 = moonroof$yi[1:17],
n1 = moonroof$ni[1:17],
type = "cf2",
x2 = moonroof$yi[18:34],
n2 = moonroof$ni[18:34]
)
# DS-np performance for a published high-quality-process design
dsnp_arl(
p = c(0.005, 0.0075),
n1 = 34,
n2 = 162,
wl = 1.5,
ucl1 = 2.5,
ucl2 = 4.5
)
# Generalized variance limits for dimension two
gv_limits(
n = 10,
p = 2,
det_sigma = 0.5320,
type = "exact"
)
# Auxiliary trace chart for covariance-structure changes
set.seed(123)
phase1 <- array(rnorm(6 * 8 * 2), dim = c(6, 8, 2))
cchart.trV(phase1, Sigma0 = diag(2), plot = FALSE)
The package includes executable articles covering use, theory, validation, and positioning:
vignette("getting-started-with-iqcc", package = "IQCC")
vignette("iqcc-positioning", package = "IQCC")
vignette("high-quality-processes", package = "IQCC")
vignette("univariate-dispersion-monitoring", package = "IQCC")
vignette("multivariate-monitoring", package = "IQCC")
vignette("statistical-foundations", package = "IQCC")
vignette("numerical-validation", package = "IQCC")
vignette("software-comparison", package = "IQCC")
getting-started-with-iqcc introduces the package workflow and principal chart families.iqcc-positioning explains where IQCC fits in the R/SPC ecosystem.high-quality-processes focuses on rare nonconformities, Cornish-Fisher p charts, and DS-np monitoring.univariate-dispersion-monitoring covers R and S charts, including distribution-aware limits.multivariate-monitoring covers Hotelling T², generalized variance, and tr(V) monitoring.statistical-foundations records the probability models and derivations behind the audited methods.numerical-validation consolidates published reproductions, independent oracles, tolerances, and unresolved source conventions.software-comparison places IQCC alongside related R statistical-process-control packages.A longer article-oriented technical document is maintained at paper/statistical-foundations.md in the development repository.
IQCC grew from research on improved statistical quality control charts, particularly work led by Emanuel Pimentel Barbosa and collaborators. The package emphasizes cases where classical Shewhart-type limits remain operationally attractive but their usual normal approximations can be statistically inaccurate.
Important methodological themes include:
tr(V) monitoring through the trace of a standardized Wishart matrix.Version 0.8.0 freezes the validated core described above. Extensions that remain outside the release scope are tracked separately so that experimental work does not blur the stable API.
| Candidate extension | Statistical target | Possible function names | Status |
|---|---|---|---|
| Full DS-np sample-size optimization | Joint design over sample sizes and limits | future API | Future work |
| Generic exact generalized variance quantiles | Product-of-chi-squares / Meijer-G or another validated numerical approach | future API | Research stage |
| Rare-defect and time-between-events families | Additional high-quality-process monitoring | future API | Post-0.8 research |
| JSS replication package and manuscript | Fully reproducible software paper |
paper/ and replication scripts |
Post-release work |