#' S Control Chart.
#'
#' This function builds a S control chart.
#'
#' The exact limits are the alpha/2 and 1-alpha/2 quantiles of the S
#' distribution which is proportional to the square root of a chi-square
#' distribution.
#'
#' @param x The data to be plotted.
#' @param type A character string specifying the type of S control chart to be
#' plotted where "n" plots a S chart with normalized probability limits and "e"
#' plots a S chart with exact limits.
#' @param m The sample sizes. Only necessary in the control chart with exact
#' (probability) limits.
#' @return Return a S control chart.
#' @export
#' @author Daniela R. Recchia, Emanuel P. Barbosa
#' @import qcc
#' @examples
#'
#' data(softdrink)
#' #S chart with normalized probability limits
#' cchart.S(softdrink, type = "n")
#' #S chart with exact probability limits
#' cchart.S(softdrink, type = "e", 10)
#'
cchart.S <- function(x, type = "n", m = NULL)
{
if(type == "n")
qcc(x, type = "S")
else
{
if(type == "c" && !is.null(m))
qcc(x, type = "S", limits = c((sqrt(qchisq(0.00135, m - 1) / (m - 1))) * sd.S(x),(sqrt(qchisq(0.99865, m - 1) / (m - 1))) * sd.S(x)))
else
if(type == "c" && is.null(m))
{
sprintf("WARNING: The sample size m wasn't specified, so a S ??? control chart was plotted instead.")
qcc(x, type = "S")
}
}
}