Skip to contents

IQCC 0.8.0

New and expanded statistical methods

Statistical corrections and compatibility

  • Replace the unweighted mean of subgroup proportions with the pooled binomial estimator in cchart.p().
  • Replace the unweighted mean of subgroup rates with the pooled Poisson estimator in cchart.u().
  • Correct standardized p and u charts so standardized statistics are not divided by subgroup size a second time.
  • Correct and harden Cornish-Fisher p- and u-chart implementations and their exact binomial/Poisson false-alarm calculations.
  • Correct the DS-np limit search so every candidate second-stage threshold is evaluated independently; harden decision regions, ARL, ASS, curtailed inspection, and plotting.
  • Correct the Hotelling T-squared robustness simulation so the documented multivariate-t scenario uses the intended elliptical construction, validates admissible dimensions/correlation, preserves RNG state, and reports Monte Carlo uncertainty explicitly.
  • Preserve the historical qcc-compatible center convention for normalized S charts while separating its numerical limits from plotting.
  • Preserve documented legacy aliases and positional calls for existing chart wrappers.

Scientific validation

  • Reproduce published p-chart values from Joekes and Barbosa (2013) with explicit provenance, tolerances, and independent binomial-risk oracles.
  • Reproduce the published R-chart quantiles, false-alarm risks, ARLs, and d2()/d3() constants from Barbosa, Gneri, and Meneguetti (2013), including independent Tippett-distribution integration checks.
  • Reproduce published DS-np ARL and ASS values from Joekes, Smrekar, and Barbosa (2015), with independent probability and small-sample enumeration checks.
  • Validate the u-chart Cornish-Fisher expansion independently from Poisson cumulants and exact Poisson false-alarm probabilities.
  • Reproduce published generalized-variance tables where the source parametrization is identifiable; record unresolved source conventions explicitly rather than treating them as implementation errors.
  • Add a consolidated executable numerical-validation vignette that classifies evidence as published reproduction, independent derivation, exact discrete calculation, numerical evaluation of an exact distribution, Monte Carlo, property testing, or partial reproduction.
  • Expand regression and property tests for scaling, monotonicity, boundary cases, invalid inputs, random-number-state preservation, and wrapper/core equivalence.

Documentation

  • Add executable vignettes for getting started, package positioning, high-quality processes, univariate dispersion, multivariate monitoring, statistical foundations, numerical validation, and comparison with the R statistical-process-control ecosystem.
  • Add paper/statistical-foundations.md as article-oriented technical source material for future manuscript development.
  • Expand the README and pkgdown reference index to reflect the public numerical API and validated methods.
  • Add or revise documentation for public functions, Phase I/Phase II conventions, exact-versus-approximate terminology, and S3 methods.

Engineering and release quality

  • Separate numerical kernels from chart construction and plotting across the audited p, u, R, S, DS-np, generalized-variance, and tr(V) families.
  • Add GitHub Actions for R CMD check on Linux (R-devel, release, oldrel), Windows, and macOS, plus pkgdown, URL, spelling/documentation-quality, and test-coverage checks.
  • Add Codecov reporting and substantially expand the automated test suite.
  • Improve input validation and replace silent error-like return values with explicit errors where audited.
  • Remove attach()-based examples from audited interfaces and keep vignettes executable in the documentation build.

IQCC 0.7.1

Bug Fixes

  • Fix d3() operator precedence bug: d2[1] was always used instead of d2[i], producing wrong results when called with a vector of sample sizes (#2)
  • Fix stats() operator precedence bug: 1:m-1 evaluated as (1:m) - 1, producing index 0 on first iteration (affects all n=1 multivariate calculations)
  • Fix cchart.T2.2() operator precedence bugs: is.null(x) == FALSE patterns were fragile (5 occurrences)
  • Fix cchart.T2.1() incorrect UCL formula for Phase I with n=1: now uses correct beta distribution parameters per Montgomery 7th ed. (#1)
  • Fix cchart.S() type parameter mismatch: code checked for "c" but documentation specified "e" for exact limits
  • Fix cchart.Xbar_R() typo: add.stat corrected to add.stats
  • Fix standardized p-chart and u-chart: removed erroneous multiplication by sample size
  • Fix cchart.T2.1() error handling: sprintf() replaced with stop()
  • Fix error messages throughout: return("msg") replaced with stop("msg")
  • Correct spelling in standardized, Shewhart, and approximation documentation.
  • Add input validation (n >= 2) to d2(), d3(), c4()

Documentation

  • Fix 11 typos across R source files
  • Fix 3 broken examples (missing required sizes argument)
  • Fix 8 inaccurate @param/@return descriptions
  • Export previously unexported cchart.Xbar() function
  • Add comprehensive roxygen documentation for cchart.Xbar()

Code Quality

  • Create constants.R with ALPHA, SIGMA_MULT, Q_LOWER, Q_UPPER constants
  • Replace 15+ hardcoded magic numbers across 7 files
  • Standardize T/F to TRUE/FALSE throughout
  • Standardize = to <- for assignment
  • Replace is.null(x) == FALSE with !is.null(x)
  • Fix table.qtukey(): remove unnecessary function definitions, add invisible() return
  • Pre-allocate vectors in d2() and d3() (was O(n²) with append())
  • Replace matrix(nrow=m, ncol=1) with numeric(m) for control limits

Infrastructure

  • Move miscTools from Depends to Imports
  • Replace blanket import() with selective importFrom() directives
  • Update minimum R version to 3.5.0
  • Add Language: en-US to DESCRIPTION
  • Clean up .Rbuildignore and .gitignore
  • Update README with usage examples and feature overview

Testing

  • Create testthat test suite with 8 test files and 53 tests
  • Add tests for all exported functions
  • Add input validation and edge case tests