Compute conventional Shewhart limits for subgroup standard deviations
without constructing a plot. Under normality,
\(E(S)=c_4(n)\sigma\) and
\(SD(S)=\sigma\sqrt{1-c_4(n)^2}\). With the default theoretical center,
the limits are therefore
$$LCL=\max\{0,c_4(n)\sigma-k\sigma\sqrt{1-c_4(n)^2}\}$$
and
$$UCL=c_4(n)\sigma+k\sigma\sqrt{1-c_4(n)^2},$$
where \(k\) is nsigmas.
Usage
s_shewhart_limits(
sigma,
n,
nsigmas = SIGMA_MULT,
side = c("two.sided", "upper"),
center = NULL
)Arguments
- sigma
Positive finite scalar. The in-control process standard deviation, known or estimated separately.
- n
Integer subgroup size(s), each at least 2.
- nsigmas
Positive finite scalar giving the number of standard-error units used for the limits. Defaults to 3.
- side
Either
"two.sided"or"upper". For an upper chart the lower limit is zero.- center
Optional finite numeric center. It may be a scalar or have the same length as
n. If omitted, \(c_4(n)\sigma\) is used.
Details
The optional center argument exists to reproduce the historical
qcc S-chart convention, which centers the limits on the observed
weighted mean of subgroup standard deviations while estimating sigma
separately. When center = NULL, the theoretical center
\(c_4(n)\sigma\) is used.
Legacy qcc convention
The current qcc::limits.S() implementation computes
std.dev * sqrt(1 - c4(sizes)^2) as the standard error of the plotted
S statistic and centers conventional limits on the chart center supplied by
qcc. Consequently, cchart.S(type = "n") passes its Phase I
weighted S center explicitly to this function. This preserves the historical
IQCC/qcc numerical behavior rather than silently replacing the sample center
by \(c_4(n)\hat\sigma\).
References
Montgomery, D. C. (2009). Introduction to Statistical Quality Control, 6th ed. Wiley.
Scrucca, L. qcc: Quality Control Charts. R package.
Examples
s_shewhart_limits(sigma = 2, n = 5)
#> $lcl
#> [1] 0
#>
#> $ucl
#> [1] 3.927256
#>
#> $center
#> [1] 1.879971
#>
#> $sigma
#> [1] 2
#>
#> $n
#> [1] 5
#>
#> $nsigmas
#> [1] 3
#>
#> $side
#> [1] "two.sided"
#>
#> $method
#> [1] "shewhart"
#>
s_shewhart_limits(sigma = 2, n = 5, center = 1.9)
#> $lcl
#> [1] 0
#>
#> $ucl
#> [1] 3.947285
#>
#> $center
#> [1] 1.9
#>
#> $sigma
#> [1] 2
#>
#> $n
#> [1] 5
#>
#> $nsigmas
#> [1] 3
#>
#> $side
#> [1] "two.sided"
#>
#> $method
#> [1] "shewhart"
#>