library(qcc)Package 'qcc' version 2.7
Type 'citation("qcc")' for citing this R package in publications.
library(qcc)Package 'qcc' version 2.7
Type 'citation("qcc")' for citing this R package in publications.
Integrantes: Juan Caballero, Nicol Muñoz, Nohemi Castañeda, Anibal Tamayo
# x = número de reclamaciones no conformes por día
e <- c(0, 3, 4, 6, 5, 2, 8, 9, 4, 2,
6, 4, 8, 0, 7, 20, 6, 1, 5, 7)
# Cada día se examinan 50 reclamaciones
n <- 50
# Número de días
Dias <- 1:length(e)# a) CÁLCULO DE LÍMITES PARA EL GRÁFICO p INICIAL
# Fracción no conforme de cada día
p_i <- e / n
# Promedio de fracciones no conformes
p_barra <- sum(e) / (length(e) * n)
# Desviación estándar para gráfico p
sigma_p <- sqrt((p_barra * (1 - p_barra)) / n)
# Límites de control
LIC_p <- max(0, p_barra - 3 * sigma_p)
LC_p <- p_barra
LSC_p <- p_barra + 3 * sigma_p
# Mostrar resultados
cat("a) GRÁFICO p INICIAL\n")a) GRÁFICO p INICIAL
cat("p barra =", round(p_barra, 6), "\n")p barra = 0.107
cat("LIC =", round(LIC_p, 6), "\n")LIC = 0
cat("LC =", round(LC_p, 6), "\n")LC = 0.107
cat("LSC =", round(LSC_p, 6), "\n\n")LSC = 0.238146
# b) GRÁFICO p INICIAL EN R
par(mar = c(6, 5, 4, 6)) # margen derecho para etiquetas
plot(Dias, p_i,
type = "b",
pch = 19,
lwd = 1.5,
ylim = c(0, max(p_i, LSC_p) + 0.05),
xlab = "Día",
ylab = "Fracción de reclamaciones no conformes",
main = "Gráfico de Control p Inicial\nFracción de reclamaciones no conformes",
xaxt = "n")
axis(1, at = Dias, labels = Dias)
abline(h = LIC_p, lty = 2, lwd = 1.5)
abline(h = LC_p, lty = 1, lwd = 1.5)
abline(h = LSC_p, lty = 2, lwd = 1.5)
# Identificar puntos fuera de control
fuera_control <- which(p_i < LIC_p | p_i > LSC_p)
# Marcar puntos fuera de control
points(Dias[fuera_control], p_i[fuera_control],
pch = 19, cex = 1.5)
text(Dias[fuera_control], p_i[fuera_control],
labels = paste("Día", fuera_control),
pos = 3,
cex = 0.8)
# Etiquetas en español
par(xpd = TRUE)
text(x = max(Dias) + 0.5, y = LIC_p, labels = "LIC", pos = 4, cex = 0.9)
text(x = max(Dias) + 0.5, y = LC_p, labels = "LC", pos = 4, cex = 0.9)
text(x = max(Dias) + 0.5, y = LSC_p, labels = "LSC", pos = 4, cex = 0.9)par(xpd = FALSE)
# Conclusión del gráfico p inicial
cat("b) ANÁLISIS DEL GRÁFICO p INICIAL\n")b) ANÁLISIS DEL GRÁFICO p INICIAL
if(length(fuera_control) == 0){
cat("El proceso está bajo control estadístico.\n\n")
} else {
cat("El proceso NO está bajo control estadístico.\n")
cat("Punto(s) fuera de control: día(s)", fuera_control, "\n\n")
}El proceso NO está bajo control estadístico.
Punto(s) fuera de control: día(s) 16
# c) DEPURACIÓN DE DATOS Y NUEVOS LÍMITES PARA GRÁFICO p
# Se eliminan los puntos fuera de control
x_dep <- e[-fuera_control]
dias_dep <- Dias[-fuera_control]
# Fracción no conforme depurada
p_i_dep <- x_dep / n
# Nueva p barra
p_barra_dep <- sum(x_dep) / (length(x_dep) * n)
# Nueva desviación estándar
sigma_p_dep <- sqrt((p_barra_dep * (1 - p_barra_dep)) / n)
# Nuevos límites
LIC_p_dep <- max(0, p_barra_dep - 3 * sigma_p_dep)
LC_p_dep <- p_barra_dep
LSC_p_dep <- p_barra_dep + 3 * sigma_p_dep
# Mostrar resultados depurados
cat("c) GRÁFICO p DEPURADO\n")c) GRÁFICO p DEPURADO
cat("Se eliminó el día:", fuera_control, "\n")Se eliminó el día: 16
cat("Nueva p barra =", round(p_barra_dep, 6), "\n")Nueva p barra = 0.091579
cat("LIC =", round(LIC_p_dep, 6), "\n")LIC = 0
cat("LC =", round(LC_p_dep, 6), "\n")LC = 0.091579
cat("LSC =", round(LSC_p_dep, 6), "\n\n")LSC = 0.21395
# Gráfico p depurado
par(mar = c(6, 5, 4, 6))
plot(dias_dep, p_i_dep,
type = "b",
pch = 19,
lwd = 1.5,
ylim = c(0, max(p_i_dep, LSC_p_dep) + 0.05),
xlab = "Día depurado",
ylab = "Fracción de reclamaciones no conformes",
main = "Gráfico de Control p Depurado\nFracción de reclamaciones no conformes",
xaxt = "n")
axis(1, at = dias_dep, labels = dias_dep)
abline(h = LIC_p_dep, lty = 2, lwd = 1.5)
abline(h = LC_p_dep, lty = 1, lwd = 1.5)
abline(h = LSC_p_dep, lty = 2, lwd = 1.5)
par(xpd = TRUE)
text(x = max(dias_dep) + 0.5, y = LIC_p_dep, labels = "LIC", pos = 4, cex = 0.9)
text(x = max(dias_dep) + 0.5, y = LC_p_dep, labels = "LC", pos = 4, cex = 0.9)
text(x = max(dias_dep) + 0.5, y = LSC_p_dep, labels = "LSC", pos = 4, cex = 0.9)
par(xpd = FALSE)
mtext(paste("Se eliminó el día", fuera_control, "por estar fuera de control"),
side = 1, line = 4, cex = 0.85)# d) GRÁFICO np CON DATOS DEPURADOS
# Línea central del gráfico np
LC_np <- n * p_barra_dep
# Desviación estándar del gráfico np
sigma_np <- sqrt(n * p_barra_dep * (1 - p_barra_dep))
# Límites de control np
LIC_np <- max(0, LC_np - 3 * sigma_np)
LSC_np <- LC_np + 3 * sigma_np
# Mostrar resultados np
cat("d) GRÁFICO np DEPURADO\n")d) GRÁFICO np DEPURADO
cat("LIC =", round(LIC_np, 6), "\n")LIC = 0
cat("LC =", round(LC_np, 6), "\n")LC = 4.578947
cat("LSC =", round(LSC_np, 6), "\n\n")LSC = 10.69749
# Gráfico np depurado
par(mar = c(6, 5, 4, 6))
plot(dias_dep, x_dep,
type = "b",
pch = 19,
lwd = 1.5,
ylim = c(-0.5, LSC_np + 1),
xlab = "Día depurado",
ylab = "Número de reclamaciones no conformes",
main = "Gráfico de Control np Depurado\nNúmero de reclamaciones no conformes por día",
xaxt = "n")
axis(1, at = dias_dep, labels = dias_dep)
abline(h = LIC_np, lty = 2, lwd = 1.5)
abline(h = LC_np, lty = 1, lwd = 1.5)
abline(h = LSC_np, lty = 2, lwd = 1.5)
par(xpd = TRUE)
text(x = max(dias_dep) + 0.6, y = LIC_np, labels = "LIC", pos = 4, cex = 0.9)
text(x = max(dias_dep) + 0.6, y = LC_np, labels = "LC", pos = 4, cex = 0.9)
text(x = max(dias_dep) + 0.6, y = LSC_np, labels = "LSC", pos = 4, cex = 0.9)
par(xpd = FALSE)
mtext(paste("Se eliminó el día", fuera_control, "por estar fuera de control"),
side = 1, line = 4, cex = 0.85)# CONCLUSIÓN FINAL
cat("CONCLUSIÓN FINAL\n")CONCLUSIÓN FINAL
cat("El gráfico p inicial muestra que el proceso no está bajo control estadístico,\n")El gráfico p inicial muestra que el proceso no está bajo control estadístico,
cat("debido a que el día", fuera_control, "supera el límite superior de control.\n")debido a que el día 16 supera el límite superior de control.
cat("Suponiendo que existe una causa asignable, se elimina este punto y se recalculan\n")Suponiendo que existe una causa asignable, se elimina este punto y se recalculan
cat("los límites de control. Con los datos depurados, el gráfico np presenta una\n")los límites de control. Con los datos depurados, el gráfico np presenta una
cat("línea central de", round(LC_np, 4), ", un LIC de", round(LIC_np, 4),
"y un LSC de", round(LSC_np, 4), ".\n")línea central de 4.5789 , un LIC de 0 y un LSC de 10.6975 .
cat("Después de la depuración, el proceso queda bajo control estadístico.\n")Después de la depuración, el proceso queda bajo control estadístico.
# DEFINO LOS DATOS DEL PROBLEMA
aplicaciones <- c(200, 250, 240, 300, 200, 250, 246, 258, 275, 274,
219, 238, 250, 302, 219, 246, 251, 273, 245, 260)
tardes <- c(3, 4, 2, 5, 2, 4, 3, 5, 2, 1, 0, 10, 4, 6, 20, 3, 6, 7, 3, 1)
# GRAFICO CON LIMITES VARIABLES
# LIMITES PARA CADA DIA (n_i)
grafico_a <- qcc(data = tardes,
sizes = aplicaciones,
type = "p",
title = "Gráfico de Control p (Límites Variables)")# LIMITES DE CADA DIA CALCULADOS
print(grafico_a$limits) LCL UCL
0 0.04658227
0 0.04358741
0 0.04411061
0 0.04137670
0 0.04658227
0 0.04358741
0 0.04379286
0 0.04319093
0 0.04240662
0 0.04245073
0 0.04532379
0 0.04421919
0 0.04358741
0 0.04129987
0 0.04532379
0 0.04379286
0 0.04353681
0 0.04249508
0 0.04384501
0 0.04309468
# PUNTO B: EL PROCESO ESTA EN CONTROL?
plot(grafico_a,
title = "Gráfico de Control: Evaluación de Control Estadístico",
xlab = "Día",
ylab = "Fracción de solicitudes tardías")# EXTRAER PUNTOS FUERA DE CONROL
fuera_de_control <- which(grafico_a$violations != 0)
if(length(fuera_de_control) > 0) {
cat("El proceso NO está en control estadístico. Puntos fuera de control en los días:", fuera_de_control, "\n")
} else {
cat("El proceso parece estar en control estadístico.\n")
}El proceso NO está en control estadístico. Puntos fuera de control en los días: 1 2
# PUNTO C LINEA CNTRAL Y CALCULOS PARA LOS LIMITES DE CONTROL
# IDENTIFICAR LAS CAUSAS
tardes_limpias <- tardes[-fuera_de_control]
aplicaciones_limpias <- aplicaciones[-fuera_de_control]
# NUEVA LINEA CENTRAL
p_nueva <- sum(tardes_limpias) / sum(aplicaciones_limpias)
cat("La nueva línea central para monitoreo es:", p_nueva, "\n")La nueva línea central para monitoreo es: 0.01847778
grafico_c <- qcc(data = tardes_limpias,
sizes = aplicaciones_limpias,
type = "p",
center = p_nueva,
title = "Gráfico de Control: Monitoreo Futuro (Sin Causas Asignables)")# NUEVOS LIMITES DE CONTROL
print("Nuevos límites de control para el próximo periodo:")[1] "Nuevos límites de control para el próximo periodo:"
print(grafico_c$limits) LCL UCL
0 0.04455676
0 0.04180353
0 0.04704588
0 0.04402986
0 0.04423676
0 0.04363059
0 0.04284073
0 0.04288515
0 0.04577851
0 0.04466611
0 0.04402986
0 0.04172617
0 0.04577851
0 0.04423676
0 0.04397891
0 0.04292981
0 0.04428928
0 0.04353366
# PUNTO D: TAMAÑO DE MUESTRA PROMEDIO
n_promedio <- mean(aplicaciones)
cat("Tamaño de muestra promedio calculado:", n_promedio, "\n")Tamaño de muestra promedio calculado: 249.8
# GENERACION DEL GRAFICO
grafico_d <- qcc(data = tardes,
sizes = n_promedio,
type = "p",
title = "Gráfico p - Límites constantes (n_avg)")# LIMITES CONSTANTES
print(grafico_d$limits) LCL UCL
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
0 0.04359756
plot(grafico_d,
title = "Gráfico p - Límites constantes (Tamaño Promedio)",
xlab = "Día",
ylab = "Fracción de solicitudes tardías")# PUNTO E: GRÁFICO DE CONTROL ESTANDARIZADO
grafico_e <- qcc(data = tardes,
sizes = aplicaciones,
type = "p",
standardize = TRUE,
title = "Gráfico de Control Estandarizado (Z-chart)")plot(grafico_e,
title = "Gráfico de Control: Z-chart",
xlab = "Día",
ylab = "Valor Z")# DIAGNOSTICADO
fuera_de_control_e <- which(abs(grafico_e$statistics) > 3)
if(length(fuera_de_control_e) > 0) {
cat("El proceso NO está en control estadístico. Valores Z fuera de límites en días:", fuera_de_control_e, "\n")
} else {
cat("El proceso parece estar en control estadístico.\n")
}El proceso parece estar en control estadístico.
# 1. CARGA DE DATOS REALES (Fuente: Imagen Tabla 7.64)
cuentas <- 1:25
errores <- c(0, 2, 1, 4, 0, 1, 3, 2, 0, 1, 0, 0, 2,
0, 2, 1, 4, 6, 1, 1, 3, 4, 1, 0, 1)# a) CÁLCULO DE LÍMITES INICIALES (Gráfico c)
# Promedio de errores por cuenta (c barra)
c_barra <- mean(errores) # Suma(40) / 25 = 1.6
sigma_c <- sqrt(c_barra)
# Límites de control (Enfoque 3 sigma)
LIC <- max(0, c_barra - 3 * sigma_c)
LC <- c_barra
LSC <- c_barra + 3 * sigma_c
# Mostrar resultados iniciales
cat("a) LÍMITES DE CONTROL INICIALES (TABLA 7.64)\n")a) LÍMITES DE CONTROL INICIALES (TABLA 7.64)
cat("c barra (Promedio) =", round(c_barra, 4), "\n")c barra (Promedio) = 1.6
cat("LIC =", round(LIC, 4), "\n")LIC = 0
cat("LC =", round(LC, 4), "\n")LC = 1.6
cat("LSC =", round(LSC, 4), "\n\n")LSC = 5.3947
# b) GRÁFICO DE CONTROL EN R
par(mar = c(6, 5, 4, 6))
plot(cuentas, errores,
type = "b", pch = 19, lwd = 1.5,
ylim = c(0, max(errores, LSC) + 1),
xlab = "Número de Cuenta", ylab = "Número de Errores",
main = "Gráfico de Control c: Auditoría de Cuentas\n(Datos Reales Ejercicio 3)",
xaxt = "n")
axis(1, at = cuentas, labels = cuentas)
abline(h = LIC, lty = 2, col = "red", lwd = 1.5)
abline(h = LC, lty = 1, col = "purple", lwd = 1.5)
abline(h = LSC, lty = 2, col = "red", lwd = 1.5)
# Identificar y marcar puntos fuera de control (Punto 18 tiene 6 errores)
fuera_DE_control <- which(errores < LIC | errores > LSC)
if(length(fuera_DE_control) > 0) {
points(cuentas[fuera_DE_control], errores[fuera_DE_control], col = "red", pch = 19, cex = 1.5)
text(cuentas[fuera_DE_control], errores[fuera_DE_control],
labels = paste("Cuenta", fuera_DE_control), pos = 3, cex = 0.8, col = "red")
}
# Etiquetas laterales
par(xpd = TRUE)
text(x = max(cuentas) + 1, y = LIC, labels = "LIC", pos = 4, cex = 0.8)
text(x = max(cuentas) + 1, y = LC, labels = "LC", pos = 4, cex = 0.8)
text(x = max(cuentas) + 1, y = LSC, labels = "LSC", pos = 4, cex = 0.8)par(xpd = FALSE)
# Gráfico usando librería qcc (Estilo Ejercicio 4)
library(qcc)
qcc(errores, type = "c", title = "Gráfico c - Análisis qcc (Tabla 7.64)")List of 11
$ call : language qcc(data = errores, type = "c", title = "Gráfico c - Análisis qcc (Tabla 7.64)")
$ type : chr "c"
$ data.name : chr "errores"
$ data : num [1:25, 1] 0 2 1 4 0 1 3 2 0 1 ...
..- attr(*, "dimnames")=List of 2
$ statistics: Named num [1:25] 0 2 1 4 0 1 3 2 0 1 ...
..- attr(*, "names")= chr [1:25] "1" "2" "3" "4" ...
$ sizes : int [1:25] 1 1 1 1 1 1 1 1 1 1 ...
$ center : num 1.6
$ std.dev : num 1.26
$ nsigmas : num 3
$ limits : num [1, 1:2] 0 5.39
..- attr(*, "dimnames")=List of 2
$ violations:List of 2
- attr(*, "class")= chr "qcc"
# c) DEPURACIÓN DE DATOS
cat("c) ANÁLISIS DE CONTROL Y DEPURACIÓN\n")c) ANÁLISIS DE CONTROL Y DEPURACIÓN
if(length(fuera_DE_control) == 0){
cat("El proceso está bajo control estadístico.\n")
c_barra_final <- c_barra
} else {
cat("El proceso NO está bajo control. Punto fuera:", fuera_DE_control, "\n")
cat("La cuenta", fuera_DE_control, "supera el LSC de", round(LSC, 4), "\n")
# Se elimina el punto 18 para recalcular
errores_dep <- errores[-fuera_DE_control]
c_barra_final <- mean(errores_dep)
cat("Nueva c barra depurada (sin cuenta 18) =", round(c_barra_final, 4), "\n")
}El proceso NO está bajo control. Punto fuera: 18
La cuenta 18 supera el LSC de 5.3947
Nueva c barra depurada (sin cuenta 18) = 1.4167
# d) ANÁLISIS DE PROBABILIDADES (POISSON) - Según requerimiento [4, 5]
cat("d) ANÁLISIS DE PROBABILIDADES (POISSON)\n")d) ANÁLISIS DE PROBABILIDADES (POISSON)
# Se usa c_barra_final (1.4167) para proyecciones futuras
prob_0 <- dpois(0, lambda = c_barra_final)
prob_1 <- dpois(1, lambda = c_barra_final)
prob_al_menos_1 <- 1 - prob_0
cat("P(X = 0 errores) =", round(prob_0, 4), "\n")P(X = 0 errores) = 0.2425
cat("P(X = 1 error) =", round(prob_1, 4), "\n")P(X = 1 error) = 0.3436
cat("P(X >= 1 error) =", round(prob_al_menos_1, 4), "\n\n")P(X >= 1 error) = 0.7575
# Gráfico de barras de probabilidades
x_vals <- 0:8
probs <- dpois(x_vals, lambda = c_barra_final)
barplot(probs, names.arg = x_vals, col = "orange",
main = "Probabilidades Poisson (Media Depurada)",
xlab = "Número de errores esperados", ylab = "Probabilidad")Análisis Técnico de los Resultados Reales:
Estado de Control: El proceso no está bajo control estadístico inicialmente. La cuenta 18 tiene un valor de 6 errores, el cual supera el Límite Superior de Control (LSC ≈ 5.39).
Depuración: Siguiendo la lógica del Ejercicio 1, el código elimina la cuenta 18 y recalcula la media (cˉ) de 1.6 a 1.4167 para monitorear el próximo periodo.
Probabilidades: Con la media depurada, existe una probabilidad del 24.25% de que una cuenta seleccionada al azar no tenga errores (Cero errores) y un 75.75% de que tenga al menos uno
# Candidad de dias
dias <- 1:20
# Rollos producidos
producidos <- c(18,18,24,22,22,22,20,20,20,20,18,18,18,20,20,20,24,24,22,21)
# Total imperfecciones
Imperfecciones <- c(12,14,20,18,15,12,11,15,12,10,18,14,9,10,14,13,16,18,20,17)# PUNTO 'A' Y 'B'
# promedio defecto por rollo
promedio_z <- sum(Imperfecciones) / sum(producidos)
# diaria tasa
diaria <- Imperfecciones / producidos
# limites
LSC_z <- promedio_z + 3 * sqrt(promedio_z / producidos)
LC_z <- promedio_z
LIC_z <- promedio_z - 3 * sqrt(promedio_z / producidos)
LIC_z <- ifelse(LIC_z < 0, 0, LIC_z)
# grafica
delta <- 0.01
plot(dias, diaria, type = "b", ylim = c(min(LIC_z) - delta, max(LSC_z) + delta),
xlab = "Día", ylab = "Defectos por rollo", main = "a) Ancho variable")
lines(dias, LSC_z, col = "red")
lines(dias, LIC_z, col = "red")
abline(h = LC_z, col = "purple")# Grafico con qcc
library(qcc)
qcc(data = Imperfecciones, type = "u", sizes = producidos)List of 11
$ call : language qcc(data = Imperfecciones, type = "u", sizes = producidos)
$ type : chr "u"
$ data.name : chr "Imperfecciones"
$ data : num [1:20, 1] 12 14 20 18 15 12 11 15 12 10 ...
..- attr(*, "dimnames")=List of 2
$ statistics: Named num [1:20] 0.667 0.778 0.833 0.818 0.682 ...
..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
$ sizes : num [1:20] 18 18 24 22 22 22 20 20 20 20 ...
$ center : num 0.701
$ std.dev : num 0.837
$ nsigmas : num 3
$ limits : num [1:20, 1:2] 0.109 0.109 0.188 0.165 0.165 ...
..- attr(*, "dimnames")=List of 2
$ violations:List of 2
- attr(*, "class")= chr "qcc"
print("El proceso se encuentra bajo control estadístico. No existen puntos fuera de los límites de control superior o inferior, y no se observan patrones no aleatorios (como rachas o tendencias) que indiquen causas asignables de variación. No es necesario realizar una depuración de muestras, ya que todas las observaciones actuales representan la variabilidad natural del proceso")[1] "El proceso se encuentra bajo control estadístico. No existen puntos fuera de los límites de control superior o inferior, y no se observan patrones no aleatorios (como rachas o tendencias) que indiquen causas asignables de variación. No es necesario realizar una depuración de muestras, ya que todas las observaciones actuales representan la variabilidad natural del proceso"
# punto c
# tamaño de muestra promedio
media <- mean(producidos)
# limites fijos
LSC_c <- promedio_z + 3 * sqrt(promedio_z / media)
LC_c <- promedio_z
LIC_c <- promedio_z - 3 * sqrt(promedio_z / media)
LIC_c <- ifelse(LIC_c < 0, 0, LIC_c)
print(paste("LSC:", round(LSC_c, 4)))[1] "LSC: 1.2547"
print(paste("LC :", round(LC_c, 4)))[1] "LC : 0.7007"
print(paste("LIC:", round(LIC_c, 4)))[1] "LIC: 0.1468"
# grafico
delta <- 0.05
plot(dias, diaria,
type = "b", ylim = c(LIC_c - delta, LSC_c + delta),
xlab = "Día", ylab = "Defectos por rollo")
abline(h = LSC_c, col = "red")
abline(h = LIC_c, col = "red")
abline(h = LC_c, col = "purple")# punto d
# Estandarizar
Z <- (diaria - promedio_z) / sqrt(promedio_z / producidos)
# Gráfico manual
plot(dias, Z, type = "b", ylim = c(-4, 4), xlab = "Día", ylab = "Z estandarizado")
abline(h = 3, col = "red")
abline(h = -3, col = "red")
abline(h = 0, col = "purple")# grafico con qcc
library(qcc)
qcc(data = Imperfecciones, type = "u", sizes = producidos, title = "Carta Z estandarizada")List of 11
$ call : language qcc(data = Imperfecciones, type = "u", sizes = producidos, title = "Carta Z estandarizada")
$ type : chr "u"
$ data.name : chr "Imperfecciones"
$ data : num [1:20, 1] 12 14 20 18 15 12 11 15 12 10 ...
..- attr(*, "dimnames")=List of 2
$ statistics: Named num [1:20] 0.667 0.778 0.833 0.818 0.682 ...
..- attr(*, "names")= chr [1:20] "1" "2" "3" "4" ...
$ sizes : num [1:20] 18 18 24 22 22 22 20 20 20 20 ...
$ center : num 0.701
$ std.dev : num 0.837
$ nsigmas : num 3
$ limits : num [1:20, 1:2] 0.109 0.109 0.188 0.165 0.165 ...
..- attr(*, "dimnames")=List of 2
$ violations:List of 2
- attr(*, "class")= chr "qcc"
| PUNTO | VENTAJA | DESVENTAJA |
Punto ‘A’ Variable (Escalones) |
Es el método más riguroso estadísticamente. Al ajustar los límites según el tamaño real de producción de cada día, reduce tanto las falsas alarmas como los puntos fuera de control no detectados | Cuando el tamaño de muestra cambia mucho entre días, los límites se vuelven difíciles de interpretar visualmente y requieren software para su calculo |
Punto ‘C’ Promedio (Líneas rectas) |
Al tener límites constantes, el operario puede memorizarlos y monitorear el proceso sin necesidad de recalcular nada. Ideal para comunicar resultados a personal no técnico | Puede dar falsas alarmas si la producción varía mucho |
Punto ‘D’ Estandarización (Z) |
Al transformar todo a una escala común (media 0, desviación 1), permite comparar el desempeño de diferentes líneas de producción o diferentes productos en un mismo gráfico | El valor Z no tiene unidades físicas, por lo que un operario no puede relacionarlo directamente con el número de imperfecciones observadas en un rollo |
# punto f
# Tasa actual y tasa con reducción del 10%
lambda_actual <- promedio_z
lambda_nuevo <- promedio_z * 0.90
# Valores de X (número de defectos por rollo)
x <- 0:5
# Cálculo de probabilidades
prob_actual <- dpois(x, lambda = lambda_actual)
prob_nuevo <- dpois(x, lambda = lambda_nuevo)
# 4. Gráfico de barras
barplot(rbind(prob_actual, prob_nuevo), beside = TRUE,
names.arg = x, col = c("orange", "brown"),
main = "Efecto de la reducción del 10% en defectos",
xlab = "Defectos por rollo", ylab = "Probabilidad")
legend("topright", legend=c("Actual", "Mejorado (-10%)"), fill=c("orange", "brown"))print("Con el lambda original, la mayor probabilidad se concentra alrededor de la media de defectos por rollo.")[1] "Con el lambda original, la mayor probabilidad se concentra alrededor de la media de defectos por rollo."
print("Al reducir el numero medio de defectos en un 10%, la distribucion se desplaza hacia la izquierda, lo que indica menor probabilidad de encontrar muchos defectos por rollo y mayor probabilidad de encontrar pocos.")[1] "Al reducir el numero medio de defectos en un 10%, la distribucion se desplaza hacia la izquierda, lo que indica menor probabilidad de encontrar muchos defectos por rollo y mayor probabilidad de encontrar pocos."