Quality Control Charts

Shewhart quality control charts for continuous, attribute and count data. Cusum and EWMA charts. Operating characteristic curves. Process capability analysis. Pareto chart and cause-and-effect chart. Multivariate control charts.


This package provides quality control tools for statistical process control.

  • Shewhart quality control charts for continuous, attribute and count data.
  • Cusum and EWMA charts.
  • Operating characteristic curves.
  • Process capability analysis.
  • Pareto chart and cause-and-effect chart.
  • Multivariate control charts.


  • Luca Scrucca


  • Greg Snow
  • Peter Bloomfield


To install the package type the following:


Or you can install the development version from GitHub:


How to Use This Package

See the paper

and the vignette

A quick tour of qcc

Both documents are available in the Vignettes and other documentation section of the help.


Version 2.7 o Created an html vignette entitled "A quick tour of qcc". o Moved R News paper to documentation. o Removed demos. o Improved appearance of graphs. o Control limits for p and np charts computed based on binomial quantiles (and not on normal approximation). o Control limits for c chart computed based on Poisson quantiles (and not on normal approximation). o Added head.start argument to cusum function. o Implemented OC curves for R and S charts. o Make xbar OC curves when confidence.level is used. o Fix a bug in sd.u o Fix typos in the documentation. o Fix a bug in cex labels. o Add a link in the qcc-package.Rd help page to yhat blog post describing how to implement the Western Eletric Rules (WER). o pareto.chart() function now returns an object of class 'paretoChart' with associated print and plot method. o Included a link in the qcc-package.Rd to R News article.

Version 2.6 o allow one sided specification limit in process.capability. o add an example in qcc man page showing how to add warning limits.

Version 2.5 o bug fix for plotting np-chart with variable sample size. o pdf files (previously included as vignettes) moved to inst/doc with corresponding index.html.

Version 2.4 o Added a demo showing how to extend the package by defining a new control chart, i.e. the standardized p chart. o Fix a bug in qcc() to allow a user defined control chart.

Version 2.3 o Fix a bug in pareto.chart when compute percentages based on quantiles for the right axis. Added the argument plot which if sets to FALSE won't produce the chart but only return a frequency summary table. o Added R-news article as vignette. o Modified the qcc.option function so modifying a parameter in .qcc.options inside a function will make the modification persistent even outside the function environment. o Bug fix in cusum function if a vector is provided as input with sizes > 1 but no std.dev.

Version 2.2 o Removed code producing plots on process capability.

Version 2.1 o Some modifications and bug fixes to pareto.chart function.

Version 2.0 o Multivariate control charts (T^2, T^2 for individual observations, Ellipse chart for bivariate data) have been included. o 'sd.xbar.one' now allows to estimate the standard deviation by using the moving range (default as in the previous versions) or the method suggested by Ryan (2000) using the scaled std deviation of the observations. o 'cusum' and 'ewma' have been rewritten to be called directly with data and arguments. No need to create a 'qcc' object before. o Added a NAMESPACE, exporting all functions with names not starting with a dot '.'.

Version 1.3 o Redefined 'std.dev' argument in qcc() function. It now allows to give a numerical value or a sting identifying a method for estimating the standard deviation of a continuous process variable. Thus, these methods are only available to "xbar", "R", and "S" charts. For details see help(qcc). Functions involved in change are std.xbar(), std.R(), std.S(), while the other sd.* functions only have "..." argument added. o If xbar chart is needed and the number of observations is larger than 25 use "RMSDF" method for computing process standard deviation. o Fixed bug in highlighting violating runs and out of control points when chart.all = FALSE. o Changed background color for Control Charts. o Changed position of control limit labels in Shewhat and CusSum charts.

Version 1.2 o Added functions to plot Shewhart g chart (geometric distribution): stats.g(), sd.g(), limits.g() Contributed by Greg Snow ([email protected]).
o Bug fix in violating.runs() o Changes in qcc.options(): - run.length set by default at 7 (it was 5 previously) - 'font.stats' and 'cex.stats' control font and character expansion used to draw text at the bottom of control charts o Added qcc_Rnews.pdf paper in doc directory

Version 1.1 o Fixed some minor bugs o Reworked on par settings to allow multiple figures o Corrected typos in .Rd files

Version 1.0 o Package release on CRAN.

Reference manual

It appears you don't have a PDF plugin for this browser. You can click here to download the reference manual.


2.7 by Luca Scrucca, 2 years ago


Browse source code at https://github.com/cran/qcc

Authors: Luca Scrucca [aut, cre] , Greg Snow [ctb] , Peter Bloomfield [ctb]

Documentation:   PDF Manual  

GPL (>= 2) license

Imports MASS, utils, graphics, grDevices

Suggests knitr, rmarkdown

Imported by IPSUR, IQCC, SixSigma, drfit.

Depended on by qcr.

Suggested by EnvStats, RcmdrPlugin.IPSUR, RcmdrPlugin.qual, mistat.

See at CRAN