Hola, Genial la respuesta de Carlos, "as usual"...
... y ¡Gracias por la cita! Aprovecho para decir que se acaba de publicar nuestro nuevo libro (Quality Control with R: An ISO Standards Approach), donde el tema de los gráficos de control lo tratamos un poco más extensamente que en el de Six Sigma: http://www.amazon.es/dp/3319240447/ref=wl_it_dp_o_pC_nS_ttl?_encoding=UTF8&colid=2XED50UJY9ZK0&coliid=I2K9YJO7VX859P Saludos a toda la lista, Emilio *Dr. Emilio López Cano* Data Scientist Mobile: +34 665 676 225 skype: emilopezcano twitter: @emilopezcano http://emilio.lcano.com *Affiliations / Collaborations:* Rey Juan Carlos University University of Castilla-La Mancha Comunidad R-Hispano AEC - AENOR - SKITES - talentyon El 10 de diciembre de 2015, 23:52, Carlos Ortega <c...@qualityexcellence.es> escribió: > Hola, > > OK. Gracias. > > Pues para empezar, haría un gráfico de control. > > Que aunque inventados en el siglo pasado, brillan por su ausencia en las > PYMES españolas, cuando siendo rigurosos en su uso, seguimiento, etc, > ofrecen casi una garantía de éxito en la mejora de la calidad de un proceso > industrial. "Caballo ganador" sin duda. > > Utilizando la referencia como un grupo de muestreo (adjunto tu Excel en > .csv). > Puedes hacer esto: > > #---------------------------------- > datIn <- read.table("pedido.csv",header=TRUE, as.is=TRUE, sep=";", > dec=",") > #datIn$Qty <- as.numeric(datIn$Qty) > datIn$newdipe <- ifelse(datIn$dipean==0,NA,datIn$dipean) > datIn$qtydi <- datIn$Qty/datIn$newdipe > datIn$sample <- datIn$Ref > > library(qicharts) > qic(datIn$qtydi, x=datIn$Ref, chart="xbar" , main="Avg Pedido per day", > xlab="Group", ylab="Qty") > #---------------------------------- > > Es un gráfico "Media-Sigma" que es el que se suele utiizar para datos > continuos agrupados como los que tienes. Y lo que represento es la variable > "Pedido/Días". > > Verás que el límite de control (CL) es de 0.51 y el límie de control > superior (UCL) es de 4.6. > Es decir, debieras de pedir 4.6 cuchillas al día para estar casi seguro de > no romper el stock. Con este límite, ves que en tu histórico tan sólo hay > un punto fuera de control. A partir de este valor, puedes ir a valores más > pequeños, asumiendo cada vez mayor riesgo. > > Como prácticas adicionales: > > - iría generando este gráfico de forma regular y lo monitorizaría > - Monitorizaría por separado varios tipos de cuchilla, el criterio de > monitorización que utilizaría sería el económico: las más caras, o en las > que más gastas por volumen de cambio. > - Y comenzaría a recopilar más información asociada a las cuchillas: > cantidad de producto que procesan/cortan, momento en el que se cambian para > con el tiempo, empezar a analizar la fiabilidad de los diferentes lotes de > cuchillas... > > Y ya puestos, me leería y tendría muy a mano el libro de Emilio: > > > http://www.amazon.es/Six-SIGMA-Statistical-Engineering-Improvement/dp/B013ILHXN4/ref=sr_1_1?s=books&ie=UTF8&qid=1449787862&sr=1-1&keywords=six+sigma+R+cano > > Saludos, > Carlos Ortega > www.qualityexcellence.es > > > El 10 de diciembre de 2015, 23:23, Jesús Para Fernández < > j.para.fernan...@hotmail.com> escribió: > >> La referencia de las cuchillas, no son todas la misma >> >> ------------------------------ >> Date: Thu, 10 Dec 2015 22:04:24 +0100 >> >> Subject: Re: [R-es] Tiempo de vida >> From: c...@qualityexcellence.es >> To: j.para.fernan...@hotmail.com >> CC: r-help-es@r-project.org >> >> Gracias. >> >> ¿Y qué es "Referencia"?... >> >> Gracias, >> Carlos Ortega >> www.qualityexcellence.es >> >> El 10 de diciembre de 2015, 21:48, Jesús Para Fernández < >> j.para.fernan...@hotmail.com> escribió: >> >> Buenas, os adjunto el documento, en u nexcel. >> >> Está estructurado de la siguiente manera: >> Referencia, Días desde pedido anterior, Unidades pedidas, Diasdesde >> pedido anterior promedio >> >> Dias de pedido anterior promedio no es más que dias desde pedido anterior >> / Unidades pedidas. >> >> Codifico las variables, para trabjaar en R de manera cómoda como: >> Ref,dias.pedido,unidades,dias.prom >> >> y lo meto en undata.frame que llamaré datos >> >> Con ello y en R, creo los histogramas >> >> histograma<-tapply(datos$dias.prom,datos$Ref,hist) >> >> esto me crea los 392 histogramas, pero me los crea como listas, asi que >> me resulta luego imposible graficarlos... >> >> Por otra parte tb creo un nuevo dataframe, con los cuantiles: >> cuartil<-tapply(datos$dias.prom,datos$Ref,quantile) >> >> >> dataframe<-as.data.frame(t(data.frame(cuartil[[1]]))) >> nuevo<-as.data.frame(t(data.frame(cuartil[[1]]))) >> >> for(i in 2:392){ >> >> dataframe<-as.data.frame(t(data.frame(cuartil[[i]]))) >> nuevo<-rbind(nuevo,dataframe) >> } >> >> Con esto tengo uan lista donde puedo ver para los cuartiles como están >> disttribuidos los datos. >> >> Se os ocurre algo mejor?? >> >> >> ------------------------------ >> Date: Thu, 10 Dec 2015 20:38:32 +0100 >> >> Subject: Re: [R-es] Tiempo de vida >> From: c...@qualityexcellence.es >> To: j.para.fernan...@hotmail.com >> CC: r-help-es@r-project.org >> >> Hola, >> >> Puedes adjuntar una parte o el conjunto "datos". Ahora no sé si los datos >> que quieres representar tienen que ver con el conjunto que nos comentabas >> de las cuchillas. ¿Hay diferentes tipos de cuchillas?... En cuanto al >> consumo, ¿calculaste el MTTR?... >> >> Y por otro lado, respondiendo a la pregunta que planteas, si ves la ayuda >> de "hist()" verás que lo que acepta esta función, sólo acepta un vector >> como parámetro de entrada, no una lista. >> >> >> Saludos, >> Carlos Ortega >> www.quallityexcellence.es >> >> >> >> El 10 de diciembre de 2015, 19:04, Jesús Para Fernández < >> j.para.fernan...@hotmail.com> escribió: >> >> Buenas >> >> He creado los histogramas, y los he guardado en función de la referneica >> en una variable: >> >> histograma<-tapply(datos$consumo,datos$Material,function(x)hist(x,col=8) >> >> Pero ahora la variable histograma como array, donde estan las 300 >> referencias. >> >> Si entor en una, por ejemplo, histograma[1], veo como es un tipo list con >> los siguientes campos: >> >> $breaks >> [1] 0.0 0.2 0.4 0.6 0.8 1.0 >> >> $counts >> [1] 18 2 0 0 1 >> >> $density >> [1] 4.2857143 0.4761905 0.0000000 0.0000000 0.2380952 >> >> $mids >> [1] 0.1 0.3 0.5 0.7 0.9 >> >> $xname >> [1] "X[[i]]" >> >> $equidist >> [1] TRUE >> >> attr(,"class") >> [1] "histogram" >> >> >> Con esta información, cómo podría crear el histograma para esta >> referencia o la que elija???? >> >> Yo pensaba que iba a quedar los datos de tal manera que con poner: >> >> hist(histograma[1]) me haría el histograma. >> >> Gracias >> Jesús >> >> >> >> >> ------------------------------ >> Date: Thu, 10 Dec 2015 16:29:11 +0100 >> Subject: Re: [R-es] Tiempo de vida >> From: c...@qualityexcellence.es >> To: j.para.fernan...@hotmail.com >> CC: r-help-es@r-project.org >> >> >> Hola, >> >> Lo tenía en mente, pero no me acordaba del nombre de la autora y el libro >> no lo tenía a mano... >> Esta referencia es de lo mejorcito que he visto/leído para la mejora de >> procesos industriales desde el punto de vista estadístico: >> >> >> http://www.amazon.com/gp/product/0898713943?keywords=veronica%20czitrom&qid=1449761180&ref_=sr_1_1&s=books&sr=1-1 >> >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> El 10 de diciembre de 2015, 11:00, Carlos Ortega < >> c...@qualityexcellence.es> escribió: >> >> Hola Jesús, >> >> La respuesta, desde mi punto de vista, es un poco off-topic de lo que se >> trata en esta lista, pero comento como lo veo yo. >> >> Con el nivel de detalle que tienes, puedes hacer varias cosas: >> >> - Simplemente mantén en tu almacén un número de cuchillas mayor que >> la última vez que tuviste que pedirlas con urgencia. En los entornos de >> Producción, efectivamente el que rompas el stock es una situación grave, >> porque paras la línea. Pero como bien, dices por otro lado no puedes >> mantener en tu almacén muchas cuchillas. Aunque también hay que comentar >> que en el análisis tendrías que meter el coste de reposición. No veo que >> las cuchillas sean un producto que se quede obsoleto, así que comprar un >> número mayor de "1" te sea hasta económicamente más rentable. Seguramente >> puedas negociar mejores precios comprando "10" que "1". >> - Entonces por este lado, tener en tu almacén un número constante >> de "3". Y que ese sea tu punto de pedido no parece descabellado. >> - Otra forma de analizarlo teniendo en cuenta los datos que ya has >> acumulado es ver cuál es tu "MTTR" (Mean Time To Repair). Considera la >> rotura/desgaste de la cuchilla como una "reparación". Y con este concepto >> calcula el tiempo medio que pasa hasta que sustituyes una cuchilla. Esto >> lo >> puedes calcular con los datos que tienes, simplemente calculando las >> diferencias entre las fechas en las que cambias las cuchillas. De esta >> forma, obtendrás que si cambias cuchillas cada 2 semanas (en media), >> tendrás que tener en media, una cuchilla disponible en tu almacén. >> - Claro, si te ajustas al valor medio, pierdes toda la información >> que te da el MTTR de su sigma. Al calcular el MTTR, representa esas >> diferencias en un histograma o simplemente calcula su sigma y tu stock >> óptimo (conservador) sería "Media + 3 Sigmas". Es una aproximación de >> tirar >> por la calle del medio (suponiendo una distribución normal de los >> datos de >> MTTR). >> - En cualquier caso, cuando tengas los datos de MTTR, mira el >> histograma por si se puede hacer un análisis más fino. >> >> >> Gracias, >> Carlos Ortega >> www.qualityexcellence.es >> >> El 10 de diciembre de 2015, 9:57, Jesús Para Fernández < >> j.para.fernan...@hotmail.com> escribió: >> >> Buenas Antonio, >> >> No termino de entender lo que dices, la verdad. >> >> Para ponernos en situación, lo que quiero es llegar al punto de pedido >> optimo, es decir, no desabastecer el almacen, pero tampcoo tener cuchillas >> para 100 años... >> >> Por ello, a mi me llega cuando necesitan una cuchilla, entonces se le da >> salida en el almacen, pero esa cuchilla nunca retorna a nosotros, es >> colocada en la maquina y hasta que parta. >> >> Es por eso por lo que habia pensado en un tiempoo de vida o en >> frecuencias. No me asusta meterme en "fregados" si la solución es robusta. >> Entiendo que el tema de frecuencias podría valer, ya que al final no es más >> que la frecuencia de pedido, pero lo que no me vale es usar medias, ya que >> la media de 0 y 2 es la misma que la de 1 y 1, pero las situaciones no >> tienen nada que ver. Pongo un ejemplo. >> >> Si hoy me piden 1 y dentro de una semana me piden 1, entonces con tener 1 >> en el almacen me vale. La media de pedido sería 1 y el punto de pedido >> optimo seria 1. >> >> Sin embargo, si esta seman me piden 0 y la semana siguiente me piden 2, >> el punto de pedido optimo es 2, aunque la media de consumo es 1... >> >> Por eso habia pensado en tiempo de vida que creoq ue se puede ajustar >> mejor, pero no se como meter los datos para hacer correctamente el análisis. >> >> To: r-help-es@r-project.org >> From: antonio.pun...@st.ieo.es >> Date: Thu, 10 Dec 2015 09:36:25 +0100 >> Subject: Re: [R-es] Tiempo de vida >> >> >> >> >> >> >> Si no tienes la fecha de venta o cuando se comenzó a usar lo tienes >> realmente difícil. >> >> Puedes hacer una aproximación si tuvieras cuantas se vendieron, >> identificando modas de venta y de devolución podrías estimar el >> tiempo de vida. >> >> Si solo tienes devolución puedes trabajar con modas/ frecuencias, el >> proceso es más complejo, bastante más. Sería algo parecido a >> averiguar la edad de un pez solo sabiendo cuando lo has cogido, sin >> saber fecha de nacimiento (pongo este ejemplo porque trabajo en >> biología marina). Y aunque no soy un experto en el tema (nada), el >> proceso de averiguar la "edad" es más complejo. Te diré que hay >> diversos métodos, y yo creo que el que más se ajusta sería con >> análisis de frecuencias. Pero no creo que te vayas a meter en ese >> "jardín" >> >> >> >> >> >> Pero, creo que estás haciendo mal la pregunta. Yo interpreto que lo >> que quieres saber es cuando debes hacer un pedid, para tener stock o >> previsiones de gasto. Esto solo depende de cuando se compraron. Pero >> esto te da lo mismo, incluso el tiempo de vida, ya que si es un >> producto estandarizado, será similar. Por lo tanto, solo tienes que >> hacer análisis de cuando te las traen de vuelta. Con cualquier >> análisis exploratorio por la unidad temporal que tu desees (Semana, >> mes, etc) te valdría. Por ejemplo unos boxplot >> >> >> >> El data frame sería muy simple >> >> >> >> kk<- >> data.frame(año=as.numeric(0),dia=as.numeric(0),mes=as.numeric(0)) >> >> aquí meterías cada cuchilla que te devuelven >> >> o >> >> >> >> kk<- >> >> data.frame(año=as.numeric(0),dia=as.numeric(0),mes=as.numeric(0),numero.cuchillas=as.numeric(0)) >> >> aquí meterías el numero de cuchillas por día >> >> >> >> Del primero mediante un aggregate se obtiene el segundo >> >> >> >> Y después solo analizar >> >> >> >> Si los pedidos los hicieras por semanas, con la unión de los tres >> campos "dia, año, y me"s con la libreria "chron" los transformas en >> un campo fecha (as.Date), y con la misma librería puedes sacar la >> semana de forma numérica. De esta forma tendrías las cuchillas por >> semana >> >> >> >> Poco más se me ocurre >> >> >> >> Espero que te sirva >> >> >> >> Saludos >> >> >> >> __________________________________ >> Antonio Punzón Merino >> Instituto Español de Oceanografía >> CO Santander >> Promontorio de San Martín s/n >> PO BOX 240 >> 39080-Santander (Spain) >> Tel: +34 942 29 17 16 (Direct: 55) >> Fax: +34 942 275 072 >> Email: antonio.pun...@st.ieo.es >> Web: www.ieo.es >> __________________________________ >> >> El 10/12/2015 a las 9:05, Jesús Para >> Fernández escribió: >> >> >> >> Siento insistir en el tema, pero es de vital importancia. >> >> Alguna idea??? >> >> Gracias >> Jes�s >> >> From: j.para.fernan...@hotmail.com >> To: gri...@yandex.com; r-help-es@r-project.org >> Subject: RE: [R-es] Tiempo de vida >> Date: Tue, 8 Dec 2015 09:18:11 +0100 >> >> >> >> >> Pero como har�a el data frame?? Porque las cuchillas son de la misma >> referencia. En realidad es para ver cada cuanto se gstan las cuchillas y >> ver que pedidos hay que hacer de las mismas. >> >> La tabla que tengo es: >> >> 25 enero-> 1 cuchilla gastada >> 30 enero -> 1 cuchilla gastada >> 3 de febrero -> 2 cuchillas gastadas >> 5 de febrero -> 1 cuchilla gastada >> >> Y as�.... >> >> No tiene necesariamente que ser gastada en la misma afeitadora, ya que >> hay 3 cortadoras y los datos de a que cortadora se cambian no son >> proporcionados y son imposibles de conseguir (ya que esa informaci�n es de >> un externo). >> >> Gracias. >> Jes�s >> >> >> >> Date: Mon, 7 Dec 2015 17:47:45 +0100 >> From: gri...@yandex.com >> To: j.para.fernan...@hotmail.com; r-help-es@r-project.org >> Subject: Re: [R-es] Tiempo de vida >> >> Hola: >> >> On Mon, 7 Dec 2015 16:34:14 +0100 >> Jes�s Para Fern�ndez <j.para.fernan...@hotmail.com> wrote: >> >> >> >> Los datos no son de desgaste de cuchilla, sino de consumo de >> las mismas. >> >> Por ello tengo los datos de la siguiente forma: >> >> Unidades cambiadas Fecha >> >> >> En unidades cambiadas, suele ser una y en fecha el dia que se hizo el >> cmabio. >> >> >> No seria: >> >> TIEMPO: Fecha que se coloca una cuchilla nueva hasta que se cambia. >> ESTADO: Siempre 1 (siempre se cambia): no existen censuras. >> >> y un registro para cada cuchilla. >> >> Servir�a? >> >> Saludos. >> >> >> >> Con eso no se muy bien como estructurar los datos para hacer el >> an�lisis. >> >> Gracias >> Jes�s >> >> >> >> >> >> Date: Mon, 7 Dec 2015 16:27:18 +0100 >> From: gri...@yandex.com >> To: j.para.fernan...@hotmail.com >> CC: r-help-es@r-project.org >> Subject: Re: [R-es] Tiempo de vida >> >> Hola: >> >> On Mon, 7 Dec 2015 15:12:24 +0100 >> Jes__s Para Fern__ndez <j.para.fernan...@hotmail.com> wrote: >> >> >> >> Buenas, >> >> Como pudeo calcular el tiempo de vida? Os cuento, tengo una serie de >> cuchillas y quiero ver el consumo de las mismas y he pensado en hacer un >> estudio por tiempo de vida. No se como hacerlo con R >> >> >> Has una tabla de datos con 4 columnas: >> >> 1. Fecha que se empieza a utilizar la cuchilla >> 2. Fecha de la �ltima revisi�n de la cuchilla >> 3. TIEMPO: el tiempo transcurrido entre las dos fechas anteriores >> 4. ESTADO: estado de la cuchilla cuando se revis� la �ltima vez: >> 0 = Buen estado >> 1 = Para tirar >> >> Y utiliza el m�todo kaplan-meier: >> >> library(survival) >> KM <- survfit(Surv(DATO$TIEMPO, DATOS$ESTADO) ~ 1) >> summary(KM) >> plot(KM) >> >> Un ejemplo: >> >> >> >> library(survival) >> AML.KM <- survfit(Surv(aml$time, aml$status) ~ 1) >> summary(AML.KM) >> >> >> Call: survfit(formula = Surv(aml$time, aml$status) ~ 1) >> >> time n.risk n.event survival std.err lower 95% CI upper 95% CI >> 5 23 2 0,9130 0,0588 0,8049 1,000 >> 8 21 2 0,8261 0,0790 0,6848 0,996 >> 9 19 1 0,7826 0,0860 0,6310 0,971 >> 12 18 1 0,7391 0,0916 0,5798 0,942 >> 13 17 1 0,6957 0,0959 0,5309 0,912 >> 18 14 1 0,6460 0,1011 0,4753 0,878 >> 23 13 2 0,5466 0,1073 0,3721 0,803 >> 27 11 1 0,4969 0,1084 0,3240 0,762 >> 30 9 1 0,4417 0,1095 0,2717 0,718 >> 31 8 1 0,3865 0,1089 0,2225 0,671 >> 33 7 1 0,3313 0,1064 0,1765 0,622 >> 34 6 1 0,2761 0,1020 0,1338 0,569 >> 43 5 1 0,2208 0,0954 0,0947 0,515 >> 45 4 1 0,1656 0,0860 0,0598 0,458 >> 48 2 1 0,0828 0,0727 0,0148 0,462 >> >> >> plot(AML.KM) >> >> >> Dibuja la curva de supervivencia con el intervalo de >> confianza. >> >> Espero que te sea �til. >> >> Saludos. >> >> >> >> >> >> >> Gracias >> Jes_s >> >> [[alternative HTML version deleted]] >> >> >> >> >> >> >> >> >> >> [[alternative HTML version deleted]] >> >> >> >> >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >> >> >> >> >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> [[alternative HTML version deleted]] >> >> _______________________________________________ >> R-help-es mailing list >> R-help-es@r-project.org >> https://stat.ethz.ch/mailman/listinfo/r-help-es >> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> >> >> >> >> -- >> Saludos, >> Carlos Ortega >> www.qualityexcellence.es >> > > > > -- > Saludos, > Carlos Ortega > www.qualityexcellence.es > > _______________________________________________ > R-help-es mailing list > R-help-es@r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es > [[alternative HTML version deleted]] _______________________________________________ R-help-es mailing list R-help-es@r-project.org https://stat.ethz.ch/mailman/listinfo/r-help-es