2Principios Básicos para Construir y Analizar Diagramas de Control
El proceso de producción de un artículo es la base en que se cimienta una empresa, donde se lleva a la realidad una idea preconcebida que cumple con las necesidades de un consumidor y con sus requerimientos. Se puede decir, que este proceso define el tipo de compañía y hasta su éxito.
Pero, producir un artículo implica la creación de un gran número de las mismas unidades. Está claro que durante este proceso existen muchas variables que pueden afectar el resultado final de una o más unidades. Por lo que es aconsejable percatarse del comportamiento de estas variables durante el desarrollo del proceso de producción. De aquí que, el Control Estadístico de la Calidad haya ganado peso y valor entre las grandes empresas productoras, debido a dos atributos puntuales: uno que garantiza una supervisión constante y objetiva del proceso de producción y otro que el gran número de técnicas y herramientas que implementa para el control de la calidad son a su vez precisas y, con cada hora que pasa, son actualizadas, innovadas y aplicadas a más nuevas y distintas situaciones.
Una herramienta potente del Control Estadístico de la Calidad es el diagrama de control, el cual es una gráfica sencilla que permite observar y controlar una o varias características de calidad.
En este capítulo se presentan los principios básicos que permiten construir y analizar los diagramas de control, de tal manera que estos puedan satisfacer eficientemente sus tres exigencias fundamentales, las cuales son: monitoreo o vigilancia de un proceso, reducción de la variabilidad de un proceso y estimación de los parámetros del proceso.
2.1 Causas de Variabilidad en los Procesos de Producción
La variación de un proceso de producción se debe básicamente a dos causas: causas comunes (o fortuitas o aleatorias o debidas al azar) y causas asignables(o especiales o atribuibles).
2.1.1 Causas Comunes
Es la variación debido al funcionamiento natural o “ruido de fondo” de un proceso de producción y es el efecto acumulado de muchas pequeñas causas, esencialmente incontrolables, estas causas son debidas al sistema. Lo ideal en un proceso de producción es que funcione bajo causas comunes porque representa un proceso estable y predecible que tiene un mínimo de variación. Se dice que un proceso que funciona bajo causas comunes de variación se encuentra bajo control estadístico. Un proceso que funciona bajo causas comunes solo puede ser mejorado si se cambia el sistema o se le introducen cambios.
2.1.2 Causas Asignables
Es la variación en el proceso de producción que no son parte del patrón de las causas fortuitas y que se debe básicamente a las siguientes fuentes: materia prima defectuosa, máquinas ajustadas o controladas incorrectamente, errores del operador, o alguna combinación de estas. Se dice que un proceso de producción que funciona bajo causas especiales se encuentra fuera de control. Un proceso que funciona bajo causas especiales se mejora eliminando la causa atribuible. La variación de un proceso es mayor bajo causas especiales que bajo causas comunes.
2.1.3 Errores Frecuentes que se Cometen con las Causas Comunes y Especiales
Cuando se monitorean procesos de producción a través de diagramas de control suele cometerse los siguientes errores:
Atribuir una variación a una causa especial, cuando en realidad es debido al sistema (causa común).
Atribuir una variación al sistema, cuando en realidad se debe a una causa especial.
2.2 Principios Básicos de los Diagramas de Control
2.2.1 Diagramas de control
Un diagrama de control típico es una representación gráfica, en el plano cartesiano, de una característica de la calidad que se ha medido o calculado a partir de una muestra contra el número de la muestra o tiempo. El diagrama de control (o carta de control) contiene una línea central (\(LC\)) que representa el valor promedio de la característica de calidad que corresponde al estado bajo control (causas comunes). También se muestra en el diagrama otras dos líneas horizontales, llamadas el límite superior de control (\(LSC\)) y el límite inferior de control (\(LIC\)). Estos límites de control se eligen de tal modo que, si el proceso está bajo control, casi la totalidad de los puntos muestrales se localizan entre ellos. La Figura 2.1, que se muestra a continuación, ilustra un diagrama de control típico.
Código
```{r}#| label: fig-dc#| fig-cap: "Diagrama de control típico"set.seed(1014)data <-data.frame(muestra =1:18,punto =rnorm(n =18, mean =100, sd =5))ggplot(data = data, mapping =aes(x = muestra, y = punto)) +geom_step(mapping =aes(x = muestra, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = muestra, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = muestra, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_point(mapping =aes(x = muestra, y = punto), color ="blue" ) +geom_line(mapping =aes(x = muestra, y = punto), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +annotate("text",x =18+0.6, y =100-3*5, label = latex2exp::TeX("$LIC$", italic =TRUE ) ) +annotate("text", x =18+0.6, y =100+3*5, label = latex2exp::TeX("$LSC$", italic =TRUE ) ) +annotate("text",x =18+0.5, y =100, label = latex2exp::TeX("$LC$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ) ) +scale_x_continuous(breaks =seq(from =1, to =18, by =1),limits =c(1, 19) ) +ylim(100-4*5, 100+4*5) +theme_bw() +theme(legend.title =element_blank(),legend.text =element_text(face ="bold"),axis.text.x =element_blank(),axis.text.y =element_blank(),axis.ticks.y =element_blank(),panel.grid =element_blank() )```
Figura 2.1: Diagrama de control típico
2.2.2 Clasificación de los Diagramas de Control
Los diagramas de control pueden clasificarse en dos tipos generales: diagrama de control para atributos y diagrama de control para variables.
Diagramas de Control para Atributos: Si cada unidad del producto puede clasificarse como conforme o disconforme, según posea o no ciertos atributos, o se pueda contar el número de disconformidades (defectos) que aparezcan en una unidad del producto. Estos diagramas se abordan en el Capítulo 3.
Diagramas de Control para Variables: Si es posible medir la característica de la calidad y expresarla mediante un número. En estos casos conviene describir la característica de la calidad mediante una medida de tendencia central y una medida de variabilidad. Estos diagramas son discutidos en el Capítulo 4.
2.2.3 Usos más Importantes de los Diagramas de Control
Los diagramas de control generalmente se usan con los siguientes propósitos:
Detectar rápidamente la ocurrencia de causas especiales, a fin que se investigue y se apliquen acciones correctivas, para evitar la producción de muchas piezas disconformes.
Reducir sistemáticamente la variabilidad del sistema.
Estimar los parámetros del proceso de producción y a partir de esta información determinar la capacidad del mismo.
2.2.4 Relación entre diagramas de control y pruebas de hipótesis
Un diagrama de control es una prueba de hipótesis secuencial de que el proceso esté bajo control versus que esté fuera de control.
Estas hipótesis se contrastan a través de los siguientes criterios de decisión:
Un punto que cae fuera de los límites de control equivale al rechazo de la hipótesis bajo control.
Un punto dentro de los límites de control equivale a la aceptación de la hipótesis bajo control. De manera similar a las pruebas de hipótesis podemos considerar dos tipos de errores:
Error Tipo I: Es el error que se comete al concluir que el proceso está fuera de control cuando en realidad está bajo control, de aquí que la probabilidad del error tipo I, denotada por \(\alpha\), viene dado por: \[
\alpha = P\left(\text{Error Tipo I} \right) = P\left ( \left.\begin{matrix}
\text{concluir que el proceso} \\
\text{está fuera de control}
\end{matrix} \, \right| \begin{matrix}
\text{el proceso está} \\
\text{bajo control}
\end{matrix} \right )
\]
Por lo que \(\alpha\) se conoce como la tasa de falsa alarma, es decir la probabilidad de que el diagrama indique que el proceso está fuera de control cuando en realidad está bajo control.
Error Tipo II: Es el error que se comete al concluir que el proceso está bajo control cuando en realidad está fuera de control, de aquí que la probabilidad del error tipo II, denotada por \(\beta\), viene dada por:
\[
\beta = P\left(\text{Error Tipo II} \right) = P\left ( \left.\begin{matrix}
\text{concluir que el proceso} \\
\text{está bajo control}
\end{matrix} \, \right| \begin{matrix}
\text{el proceso está} \\
\text{fuera de control}
\end{matrix} \right )
\]
Por lo que \(\beta\) se conoce como la probabilidad de que el diagrama no detecte el estado fuera de control, en consecuencia, \(1 -\beta\) representa la probabilidad de que el diagrama detecte el estado fuera de control en la muestra subsiguiente después de haber ocurrido.
2.2.5 Exigencias que Deben Cumplir los Diagramas de Control
El desempeño de un diagrama de control puede ser medido por la capacidad que este tenga de cumplir con las siguientes exigencias:
Si el proceso está fuera de control el gráfico debe señalarlo lo antes posible.
Si el proceso está bajo control, cualquier señal que lance el gráfico será de falsa alarma, estas deben ser infrecuentes.
2.3 Selección de los Límites de Control
Existen diferentes criterios para seleccionar los límites de control en un diagrama de control. Los más usados son los límites de control probabilísticos y los límites de control de Shewhart, siendo estos últimos los más usados en la práctica industrial y su nombre se debe al Dr. Samuel Walter Shewhart el cual propuso un modelo general para seleccionar los límites de control.
2.3.1 Modelo General de Shewhart
Sea \(W\) un estadístico muestral que mide alguna característica crítica de la calidad de un producto y supóngase que la media y la varianza de \(W\) son \(\mu_W\) y \(\sigma_W\) respectivamente. Entonces, el Dr. Walter Shewhart propuso una teoría general para construir diagramas de control, en la cual la línea central y los límites superior e inferior vienen dadas por:
Donde \(L\) representa la distancia de los límites de control a la línea central, expresada en unidades de desviación estándar.
2.3.2 Selección de \(L\)
La especificación del valor de \(L\) es una de las decisiones crítica que hay que tomar al diseñar un diagrama de control, porque alejando los límites de control de la línea central se reduce el riesgo del erro tipo I, es decir el riesgo de que un punto caiga fuera de los límites de control cuando en realidad el proceso está bajo control, sin embargo, se eleva el riesgo del error tipo II, o sea, el riesgo de que un punto caiga dentro de los límites de control cuando en realidad el proceso está fuera de control. Mientras que, acercando los límites a la línea central se produce el efecto inverso, es decir, el riesgo del error tipo I aumenta, mientras que el riesgo del error tipo II se reduce.
Sin importar la distribución de \(W\), es práctica estándar en la mayoría de los países escoger un valor de \(L = 3\), lo cual se justifica por los buenos resultados en la práctica, además, en muchos casos se desconoce la distribución \(W\). En Gran Bretaña y algunos países de Europa occidental se usan límites de control probabilísticos, con una probabilidad del error tipo I de 0,001 en una dirección. Si la distribución normal es una aproximación razonable de la distribución de la característica de la calidad (\(W\)), entonces habrá poca diferencia entre los límites de control tres sigmas y los de probabilidad 0,001.
Algunos analistas recomiendan el uso de tres conjuntos de límites en los diagramas de control; los límites tres sigmas (\(L = 3\)), llamados de acción; los límites dos sigmas (\(L = 2\)), llamados de advertencia externos y los límites un sigma (\(L = 1\)), llamados límites de advertencia internos. Cuando se usan límites de control probabilísticos, los límites de acción por lo general son límites 0,001 y los límites de advertencia externos son límites 0,025. Estos límites particionan el diagrama de control en cuatro zonas a cada lado de la línea central: la zona A, la zona B, la zona C y la zona que está más allá de la zona A, es decir, después de los límites de acción, denominada zona de acción. La Figura 2.2 muestra tales zonas.
Código
```{r}#| label: fig-dczonas#| fig-cap: "Zonas en los diagramas de control"set.seed(1014)data <-data.frame(muestra =1:18,punto =rnorm(n =18, mean =100, sd =5))ggplot(data = data, mapping =aes(x = muestra, y = punto)) +geom_step(mapping =aes(x = muestra, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = muestra, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = muestra, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = muestra, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = muestra, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = muestra, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = muestra, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = muestra, y = punto), color ="blue" ) +geom_line(mapping =aes(x = muestra, y = punto), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =118.5,label = latex2exp::TeX("$Zona \\, de \\, acción$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =81.5,label = latex2exp::TeX("$Zona \\, de \\, acción$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =18+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =18+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =18+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =18+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =18+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =18+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =18+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad $(W)$", bold =TRUE, italic =TRUE ) ) +scale_x_continuous(breaks =seq(from =1, to =18, by =1),limits =c(1, 20) ) +ylim(100-4*5, 100+4*5) +theme_bw() +theme(legend.title =element_blank(),legend.text =element_text(face ="bold"),axis.text.x =element_blank(),axis.text.y =element_blank(),axis.ticks.y =element_blank(),panel.grid =element_blank() )ggplot2::ggsave(filename ="zonas_svg.svg",device ="svg",path ="C:/Users/oswaldobelloc/Documents/libro_cec")```
Figura 2.2: Zonas en los diagramas de control
Una situación en la que uno o más puntos se localicen entre los límites de advertencia externos y los límites de control, o muy cerca de los límites de advertencia externos, deberá despertar sospecha de que el proceso quizás no está operando correctamente. Una posible acción por emprender cuando esto ocurre es incrementar la frecuencia del muestreo o el tamaño de la muestra a fin de obtener con rapidez más información acerca del proceso.
El uso de límites de advertencia puede aumentar la sensibilidad de la carta de control; es decir, puede permitir que la carta de control dé la señal de un corrimiento en el proceso con mayor rapidez. Una de sus desventajas es que puede resultar confuso para el personal de operación. Esto, sin embargo, por lo general no constituye una objeción seria, y muchos analistas utilizan de manera rutinaria límites de advertencia en los diagramas de control. Una objeción más seria es que cuando el uso de límites de advertencia puede mejorar la sensibilidad de la carta, también puede dar como resultado un riesgo incrementando la tasa de falsa alarma.
2.4 Tamaño Muestral y Frecuencia de Muestreo
Cuando se diseña un diagrama de control, es necesario especificar tanto el tamaño de la muestra que debe usarse como la frecuencia de muestreo.
2.4.1 Tamaño Muestral
A la hora de escoger el tamaño de la muestra, debe pensarse en el tamaño del cambio que se desea detectar. Si la magnitud del cambio es relativamente grande, se usan tamaños muestrales reducidos, mientras que para cambios pequeños se tendría que utilizar tamaños más grandes.
2.4.2 Frecuencia de Muestreo
En la realización del muestreo un factor importante es la frecuencia de este. Lo ideal desde el punto de vista de la detección de corrimientos sería tomar muestras grandes con mucha frecuencia; sin embargo, en muchas situaciones esto no es económicamente factible. La práctica actual en la industria tiende a favorecer tomar muestra más pequeñas y más frecuentes, en particular en los procesos de manufactura de alto volumen, o donde pueden ocurrir diversos tipos de causa atribuible. Además, conforme se desarrolla la tecnología automatizada de sondeo y medición, se está haciendo posible incrementar en gran medida la frecuencia de muestreo.
Para responder con mayor precisión a la pregunta de la frecuencia de muestreo, es necesario tomar en consideración varios factores, incluyendo el costo de muestreo, las perdidas asociadas con permitir que el proceso funcione fuera de control, la rapidez de la producción, y las probabilidades con las que ocurren varios corrimientos en el proceso.
2.5 Subgrupos racionales
2.5.1 Consideraciones Generales
Una idea fundamental en el uso de los diagramas de control es la selección de los datos muestrales, llamados por Shewhart subgrupos racionales. Se deben seleccionar subgrupos o muestras de tal manera que, en caso de que el proceso esté operando bajo causas asignables, la posibilidad de las diferencias entre subgrupos sea máxima, mientras que al mismo tiempo las posibilidades de las diferencias debidas a estas causas asignables dentro de un subgrupo sean mínimas.
2.5.2 Bases para Formar Subgrupos Racionales
El orden en el tiempo es con frecuencia una base adecuada para formar subgrupos, ya que permite detectar causas atribuibles que ocurren en el tiempo. Aunque se conserva el orden en el tiempo, hay que tener mucho cuidado porque se pueden formar subgrupos equivocadamente; si algunas de las observaciones se toman al final de un turno, y las restantes al principio del siguiente, entonces no se podrá detectar alguna diferencia entre los turnos. En consecuencia, se deben formar subgrupos con observaciones que correspondan al mismo turno y así poder detectar diferencia entre los turnos.
Si se tiene un proceso que consta de varias máquinas, que reúnen sus productos en un flujo común. En este caso un enfoque lógico es formar subgrupos por cada máquina, para poder detectar diferencias entre ellas. A veces se tiene que aplicar este concepto a diferentes terminales de la misma máquina.
A partir de estas bases para formar subgrupos, existen dos enfoques generales que son:
Cada muestra consta de unidades que se produjeron en el mismo momento; este enfoque se usa cuando el propósito principal del diagrama de control es detectar cambios en el proceso. También proporciona mejores estimaciones de la desviación estándar del proceso en el caso de diagrama de control para variables.
Cada muestra consta de unidades del producto que son representativas de todas las unidades que se han producido desde la obtención del último subgrupo.
2.6 Análisis de Patrones
2.6.1 Corridas o tandas
Una corrida o tanda o racha, es una sucesión de observaciones del mismo tipo. Existen diferentes formas de corridas entre las cuales podemos encontrar:
Corridas ascendentes: Es una sucesión de observaciones que aumentan en valor. Como ejemplo, ver la Figura 2.3 (a), la cual muestra que las observaciones 88, 91, 93, 99, 100, 101, 103, 106 forman una corrida ascendente de 8 puntos.
Corrida descendente: Es una sucesión de observaciones que decrecen en valor. La Figura 2.3 (b) muestra que las observaciones 106, 103, 101, 100, 99, 93, 91, 88 forman una corrida descendente de 8 puntos.
Corrida por encima de la línea central: Es una sucesión de puntos por encima de la línea central. Un ejemplo de este tipo de corridas se muestra en la Figura 2.3 (c), donde se puede notar que las observaciones 108, 105, 100, 103, 100, 109, 101, 102 forman una corrida por encima de la línea central de 8 puntos.
Corrida por debajo de la línea central: Es una sucesión de puntos por debajo de la línea central. Para un ejemplo de este tipo rachas ver la Figura 2.3 (d), la cual muestra que las observaciones 100, 86, 86, 93, 99, 96, 97, 96 constituyen una corrida por debajo de la línea central de 8 puntos.
A \(n\) observaciones en corridas se llaman corrida de \(n\) puntos.
Código
```{r}#| label: fig-formas-corridas#| fig-cap: "Tipos de corridas en los diagramas de control"#| fig-subcap:#| - "Ejemplo de corrida ascendentes"#| - "Ejemplo de corrida descendente"#| - "Ejemplo de corrida por encima de la línea central"#| - "Ejemplo de corrida por debajo de la línea central"#| layout-ncol: 2#| layout-nrow: 2# corrida ascendenteggplot(mapping =aes(x = data$muestra[1:9], y =c(data$punto[1], sort(data$punto[1:8])) )) +geom_step(mapping =aes(x = data$muestra[1:9], y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_point(mapping =aes(x = data$muestra[1:9], y =c(data$punto[1], sort(data$punto[1:8])) ), color ="blue" ) +geom_text(aes(label =formato(c(data$punto[1], sort(data$punto[1:8])),digits =0 ) ),vjust =c(-1, -1, -1, -1, 1.5, -1, -1, -1, -1) ) +geom_line(mapping =aes(x = data$muestra[1:9], y =c(data$punto[1], sort(data$punto[1:8])) ), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +annotate("text",x =9+0.3, y =100-3*5, label = latex2exp::TeX("$LIC$", italic =TRUE ) ) +annotate("text", x =9+0.3, y =100+3*5, label = latex2exp::TeX("$LSC$", italic =TRUE ) ) +annotate("text",x =9+0.2, y =100, label = latex2exp::TeX("$LC$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ) ) +scale_x_continuous(breaks =seq(from =1, to =9, by =1),limits =c(1, 10) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =15 ),limits =c(100-4*5, 100+4*5) ) +# ylim(100 - 4 * 5, 100 + 4 * 5) +theme_bw() +theme(legend.title =element_blank(),legend.text =element_text(face ="bold"),# axis.text.x = element_blank(),# axis.text.y = element_blank(),# axis.ticks.y = element_blank(),panel.grid =element_blank() )# corrida descendenteggplot(mapping =aes(x = data$muestra[1:9], y =c( data$punto[1], sort(data$punto[1:8], decreasing =TRUE) ) )) +geom_step(mapping =aes(x = data$muestra[1:9], y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_point(mapping =aes(x = data$muestra[1:9], y =c( data$punto[1], sort(data$punto[1:8], decreasing =TRUE) ) ), color ="blue" ) +geom_text(aes(label =formato(c( data$punto[1], sort(data$punto[1:8], decreasing =TRUE) ),digits =0 ) ),vjust =c(2, -1, -1, -1, -1, 1.5, -1, -1, -1) ) +# stat_ellipse(# mapping = aes(# x = data$muestra[2:9], # y = c(sort(data$punto[1:8], decreasing = TRUE))# )# ) +geom_line(mapping =aes(x = data$muestra[1:9], y =c( data$punto[1], sort(data$punto[1:8], decreasing =TRUE) ) ), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +annotate("text",x =9+0.3, y =100-3*5, label = latex2exp::TeX("$LIC$", italic =TRUE ) ) +annotate("text", x =9+0.3, y =100+3*5, label = latex2exp::TeX("$LSC$", italic =TRUE ) ) +annotate("text",x =9+0.2, y =100, label = latex2exp::TeX("$LC$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ) ) +scale_x_continuous(breaks =seq(from =1, to =9, by =1),limits =c(1, 10) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =15 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.title =element_blank(),legend.text =element_text(face ="bold"),# axis.text.x = element_blank(),# axis.text.y = element_blank(),# axis.ticks.y = element_blank(),panel.grid =element_blank() )# corrida por encima de la línea centralggplot(mapping =aes(x = data$muestra[1:9], y =c(90, mayor_LC) )) +geom_step(mapping =aes(x = data$muestra[1:9], y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_point(mapping =aes(x = data$muestra[1:9], y =c(90, mayor_LC) ), color ="blue" ) +geom_text(aes(label =formato(c(data$punto[1], mayor_LC),digits =0 ) ),vjust =c(2, -1, -1, -1, -1, -1, -1, -1, -1) ) +geom_line(mapping =aes(x = data$muestra[1:9], y =c(90, mayor_LC) ), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +annotate("text",x =9+0.3, y =100-3*5, label = latex2exp::TeX("$LIC$", italic =TRUE ) ) +annotate("text", x =9+0.3, y =100+3*5, label = latex2exp::TeX("$LSC$", italic =TRUE ) ) +annotate("text",x =9+0.2, y =100, label = latex2exp::TeX("$LC$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ) ) +scale_x_continuous(breaks =seq(from =1, to =9, by =1),limits =c(1, 10) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =15 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.title =element_blank(),legend.text =element_text(face ="bold"),# axis.text.x = element_blank(),# axis.text.y = element_blank(),# axis.ticks.y = element_blank(),panel.grid =element_blank() )# corrida por debajo de la línea centralggplot(mapping =aes(x = data$muestra[1:9], y =c(110, menor_LC) )) +geom_step(mapping =aes(x = data$muestra[1:9], y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = data$muestra[1:9], y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_point(mapping =aes(x = data$muestra[1:9], y =c(110, menor_LC) ), color ="blue" ) +geom_text(aes(label =formato(c(110, menor_LC),digits =0 ) ),vjust =c(-1, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5) ) +# stat_ellipse(# mapping = aes(# x = data$muestra[2:9], # y = c(sort(data$punto[1:8], decreasing = TRUE))# )# ) +geom_line(mapping =aes(x = data$muestra[1:9], y =c(110, menor_LC) ), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +annotate("text",x =9+0.3, y =100-3*5, label = latex2exp::TeX("$LIC$", italic =TRUE ) ) +annotate("text", x =9+0.3, y =100+3*5, label = latex2exp::TeX("$LSC$", italic =TRUE ) ) +annotate("text",x =9+0.2, y =100, label = latex2exp::TeX("$LC$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ) ) +scale_x_continuous(breaks =seq(from =1, to =9, by =1),limits =c(1, 10) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =15 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.title =element_blank(),legend.text =element_text(face ="bold"),# axis.text.x = element_blank(),# axis.text.y = element_blank(),# axis.ticks.y = element_blank(),panel.grid =element_blank() )```
(a) Ejemplo de corrida ascendentes
(b) Ejemplo de corrida descendente
(c) Ejemplo de corrida por encima de la línea central
(d) Ejemplo de corrida por debajo de la línea central
Figura 2.3: Tipos de corridas en los diagramas de control
2.6.2 Criterios de Decisión Más Usados para Analizar Diagramas de Control
Cuando se analizan diagramas de control, los criterio de decisión (reglas de decisión o sensibilidad) más ampliamente usados para indicar el estado fuera de control son los siguientes:
Uno o más puntos fuera de los límites de control (es decir, cualquier punto que cae fuera de la Zona A). Ver la Figura 2.4 (a).
Dos de tres puntos consecutivos en el mismo lado de la línea central, fuera de los límites de advertencia dos sigma (en la zona A o más allá), pero aún dentro de los límites de control. Ver la Figura 2.4 (b).
Cuatro de cinco puntos consecutivos en el mismo lado de la línea central, fuera de los límites un sigma (en la zona B o más allá). Ver la Figura 2.4 (c).
Una corrida de ocho puntos consecutivos en el mismo lado de la línea central (en la zona C o más allá). Ver la Figura 2.4 (d).
Una corrida ascendente o descendente de seis puntos. Ver la Figura 2.4 (e).
Quince puntos seguidos en la zona C (tanto arriba como debajo de la línea central). Ver la Figura 2.4 (f).
Catorce puntos seguidos alternándose arriba y abajo. Ver la Figura 2.4 (g).
Ocho puntos seguidos en ambos lados de la línea central, pero ninguno de ellos en la zona C. Ver la Figura 2.4 (h).
Un patrón inusual o no aleatorio en los datos. Ver la Figura 2.4 (i).
Uno o más puntos cerca de un límite de control o de advertencia. Ver la Figura 2.4 (j).
Los cuatro primeros criterios de esta lista se conocen como las reglas de Western Electric. Existen algunos paquetes de que permiten identificar los puntos que violan estos criterios, tales como: stat_qc_violations del paquete ggQC, shewhart.rules del paquete qcc, EvaluateRules del paquete Rspc, entre otos.
En general, se debe tener cuidado al usar varias reglas de decisión simultáneamente. Supongamos que el analista utiliza \(k\) reglas de decisión denotadas como \(A_1, A_2, \cdots, A_i, \cdots, A_k\) y que la probabilidad del error tipo I del criterio \(A_i\) es \(\alpha_i\). Entonces, la probabilidad global de error de tipo I o falsa alarma para la decisión basada en todas los \(k\) reglas de sensibilidad es
En la deducción de ecuación 2.2 se supuso que las reglas de decisión son independientes. Sin embargo, el supuesto de independencia no es válido con las reglas de sensibilidad usuales. Además, el valor de \(\alpha_i\) no está definido con claridad para las reglas de sensibilidad, ya que estas reglas incluyen varias observaciones.
Champ y Woodall (1987) investigaron el desempeño de la longitud media de corrida para las cartas de control de Shewhart con varias reglas de sensibilidad. Encontraron que el uso de estas reglas mejora la habilidad de la carta de control para detectar los corrimientos más pequeños, pero la longitud media de la corrida puede degradarse sustancialmente. Por ejemplo, suponiendo datos independientes del proceso y utilizando una carta de control de Shewhart con las reglas de Western Electric, se obtiene una longitud media de corrida bajo control de 91,25, en contraste con 370 para la carta de control de Shewhart sola.
En la figura Figura 2.4 se muestran ejemplos de las reglas de decisión descritas al inicio de esta sección.
Código
```{r}#| label: fig-criterios#| fig-cap: "Tipos de corridas en los diagramas de control"#| fig-subcap:#| - "Ejemplo del criterio de decisión i"#| - "Ejemplo del criterio de decisión ii"#| - "Ejemplo del criterio de decisión iii"#| - "Ejemplo del criterio de decisión iv"#| - "Ejemplo del criterio de decisión v"#| - "Ejemplo del criterio de decisión vi"#| - "Ejemplo del criterio de decisión vii"#| - "Ejemplo del criterio de decisión viii"#| - "Ejemplo del criterio de decisión ix"#| - "Ejemplo del criterio de decisión x"#| layout-ncol: 2#| layout-nrow: 5criterio <-do.call(cbind, lapply(1:15, function(x){set.seed(5555+ x) data.frame(c(rnorm(n =15, mean =100, sd =5) ) ) } ))colnames(criterio) <-c(paste("criterio", 1:15, sep ="_"))criterio$subgrupo <-1:15criterio <- criterio[, c(16, 1:15)]# criterio de decisión icriterio$criterio_1[sample(x =1:15, size =3)] <-c(mayor_lsigma(n =2, L =3, mean =100, sd =5),menor_lsigma(n =1, L =-3, mean =100, sd =5) )violacion <-factor(ifelse(abs(criterio$criterio_1 -100) >3*5, "Si", "No" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_1),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_1, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_1), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión iicriterio$criterio_2[c(3, 4, 5, 6, 7, 8, 10, 11, 12, 13, 14)] <-c(menor_lsigma(n =1, L =2, mean =100, sd =5),mayor_lsigma(n =4, L =2, mean =100, sd =5),menor_lsigma(n =1, L =2, mean =100, sd =5),mayor_lsigma(n =1, L =-2, mean =100, sd =5),menor_lsigma(n =3, L =-2, mean =100, sd =5),mayor_lsigma(n =1, L =-2, mean =100, sd =5))violacion <-factor(c("No", "No", "No", "No", "Si", "Si", "Si", "Si", "No","No", "No", "No", "Si", "Si", "No" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_2),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_2, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_2), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión iiicriterio$criterio_3[c(2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)] <-c(menor_lsigma(n =1, L =1, mean =100, sd =5),mayor_lsigma(n =6, L =1, mean =100, sd =5),menor_lsigma(n =1, L =1, mean =100, sd =5),mayor_lsigma(n =1, L =-1, mean =100, sd =5),menor_lsigma(n =5, L =-1, mean =100, sd =5),mayor_lsigma(n =1, L =-1, mean =100, sd =5))violacion <-factor(c("No", "No", "No", "No", "No","Si", "Si", "Si", "Si","No", "No", "No", "No", "No", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_3),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_3, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_3), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión ivcriterio$criterio_4[6:15] <-c(menor_lsigma(n =1, L =0, mean =100, sd =5),mayor_lsigma(n =9, L =0, mean =100, sd =5))violacion <-factor(c("No", "No", "No", "No", "No","No", "No", "No", "No", "No", "No", "No","No", "Si", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_4),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_4, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_4), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión vcriterio$criterio_5[c(2:7, 10:15)] <-c(sort(criterio$criterio_5[1:7]),sort(criterio$criterio_5[10:15], decreasing =TRUE))violacion <-factor(c("No", "No", "No", "No", "No", "No", "Si", "No", "No", "No", "No", "No","No", "No", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_5),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_5, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_5), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión vicriterio$criterio_6 <-c(entre_lsigma(n =15, L =1, mean =100, sd =5))violacion <-factor(c("No", "No", "No", "No", "No", "No", "No", "No", "No","No", "No", "No","No", "No", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_6),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_6, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_6), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión viicriterio$criterio_7 <-c(mayor_lsigma(n =1, L =0, mean =100, sd =5),menor_lsigma(n =1, L =0, mean =100, sd =5),mayor_lsigma(n =1, L =1, mean =100, sd =5),menor_lsigma(n =1, L =-1, mean =100, sd =5),mayor_lsigma(n =1, L =2, mean =100, sd =5),menor_lsigma(n =1, L =1, mean =100, sd =5),mayor_lsigma(n =1, L =2, mean =100, sd =5),menor_lsigma(n =1, L =0, mean =100, sd =5),mayor_lsigma(n =1, L =2, mean =100, sd =5),menor_lsigma(n =1, L =1, mean =100, sd =5),mayor_lsigma(n =1, L =1, mean =100, sd =5),menor_lsigma(n =1, L =-1, mean =100, sd =5),mayor_lsigma(n =1, L =2, mean =100, sd =5),menor_lsigma(n =1, L =0, mean =100, sd =5),mayor_lsigma(n =1, L =0, mean =100, sd =5))violacion <-factor(c("No", "No", "No", "No", "No", "No", "No", "No", "No","No", "No", "No","No", "Si", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_7),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_7, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_7), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión viiicriterio$criterio_8[7:15] <-fuera_lsigma(n =9, L =1, mean =100, sd =5)violacion <-factor(c("No", "No", "No", "No", "No", "No", "No", "No", "No","No", "No", "No","No", "Si", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_8),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_8, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_8), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión ixcriterio$criterio_9[c(3, 6, 9, 12, 15)] <-mayor_lsigma(n =5, L =2, mean =100, sd =5)violacion <-factor(c("No", "No", "Si", "No", "No", "Si", "No", "No", "Si","No", "No", "Si","No", "No", "Si" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_9),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_9, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_9), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )# criterio de decisión xcriterio$criterio_10[c(3, 4, 5, 12, 13, 14)] <-c(114.5, 114.8, 114.6, 89.7, 89.3, 88.9)violacion <-factor(c("No", "No", "Si", "Si", "Si", "No", "No", "No", "No","No", "No", "Si", "Si", "Si", "No" ))ggplot(data = criterio, mapping =aes(x = subgrupo, y = criterio_10),show.legend =FALSE) +geom_step(mapping =aes(x = subgrupo, y =100-3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100),direction ="hv", color ="blue" ) +geom_step(mapping =aes(x = subgrupo, y =100+3*5),direction ="hv", color ="red", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-2*5),direction ="hv", color ="#000080", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100+5),direction ="hv", color ="blue", lty ="dashed" ) +geom_step(mapping =aes(x = subgrupo, y =100-5),direction ="hv", color ="blue", lty ="dashed" ) +geom_point(mapping =aes(x = subgrupo, y = criterio_10, color = violacion,shape = violacion ) ) +scale_color_manual(values =c("No"="blue", "Si"="red", show.legend =FALSE ) ) +scale_shape_manual(values =c(16, 8)) +geom_line(mapping =aes(x = subgrupo, y = criterio_10), color ="black" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =100+3*5), fill ="green", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-2*5, ymax =100+2*5), fill ="#00FF00", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-5, ymax =100+5), fill ="#00FFFF", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100+3*5, ymax =Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) + pammtools::geom_stepribbon(aes(ymin =100-3*5, ymax =-Inf), fill ="#FF0000", alpha =0.2, direction ="hv" ) +# annotate(# "text",# x = 9.5, y = 118.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +# annotate(# "text",# x = 9.5, y = 81.5, # label = latex2exp::TeX(# "$Zona \\, fuera \\, de \\, control$", bold = TRUE,# italic = TRUE # )# ) +annotate("text",x =9.5, y =112.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =87.5, label = latex2exp::TeX("$Zona \\, A$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =107.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =92.5, label = latex2exp::TeX("$Zona \\, B$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =102.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =9.5, y =97.5, label = latex2exp::TeX("$Zona \\, C$", bold =TRUE,italic =TRUE ) ) +annotate("text",x =15+1, y =100-3*5, label = latex2exp::TeX("$\\mu_W - 3\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+3*5, label = latex2exp::TeX("$\\mu_W + 3\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+0.5, y =100, label = latex2exp::TeX("$\\mu_W$", italic =TRUE ) ) +annotate("text",x =15+1.1, y =100-2*5, label = latex2exp::TeX("$\\mu_W - 2\\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1.1, y =100+2*5, label = latex2exp::TeX("$\\mu_W + 2\\sigma_W$", italic =TRUE ) ) +annotate("text",x =15+1, y =100-5, label = latex2exp::TeX("$\\mu_W - \\sigma_W$", italic =TRUE ) ) +annotate("text", x =15+1, y =100+5, label = latex2exp::TeX("$\\mu_W + \\sigma_W$", italic =TRUE ) ) +labs(x = latex2exp::TeX("Número de muestras o tiempo", bold =TRUE, italic =TRUE ),y = latex2exp::TeX("Característica de la calidad", bold =TRUE, italic =TRUE ),shape ="Fuera de control", color ="Fuera de control" ) +scale_x_continuous(breaks =seq(from =1, to =15, by =1),limits =c(1, 17) ) +scale_y_continuous(breaks =seq(from =100-3*5, to =100+3*5, by =5 ),limits =c(100-4*5, 100+4*5) ) +theme_bw() +theme(legend.position ="bottom",legend.title =element_text(face ="bold"),legend.text =element_text(face ="bold"),panel.grid =element_blank() )```
(a) Ejemplo del criterio de decisión i
(b) Ejemplo del criterio de decisión ii
(c) Ejemplo del criterio de decisión iii
(d) Ejemplo del criterio de decisión iv
(e) Ejemplo del criterio de decisión v
(f) Ejemplo del criterio de decisión vi
(g) Ejemplo del criterio de decisión vii
(h) Ejemplo del criterio de decisión viii
(i) Ejemplo del criterio de decisión ix
(j) Ejemplo del criterio de decisión x
Figura 2.4: Tipos de corridas en los diagramas de control
Champ, Charles W, y William H Woodall. 1987. «Exact results for Shewhart control charts with supplementary runs rules». Technometrics 29 (4): 393-99.