ggQC | ggplot Quality Control Charts – New Release

Paketet ggQC är ett tillägg för kvalitetskontroll för ggplot. Använd det för att skapa XmR, XbarR, C och många andra mycket anpassningsbara kontrolldiagram. Ytterligare funktioner för statistisk processkontroll inkluderar Shewart-överträdelsekontroller samt kapacitetsanalys. Om din process löper smidigt kan du visualisera de potentiella effekterna av nästa processförbättring med ett paretodiagram. Om du vill veta mer, läs vidare!

För att komma igång med ggQC installerar du den från CRAN genom att köra följande kod:

1
install.packages("ggQC")

ggQC Control Charts

Kontrolldiagram är ett utmärkt sätt att övervaka processutfall, driva förbättringar och utvärdera mätsystem. De typer av styrdiagram som stöds av ggQC inkluderar:

  • Individuella diagram: mR, XmR
  • Attributdiagram: c, np, p, u
  • Studentized Charts: xBar.rBar, xBar.rMedian, xBar.sBar, xMedian.rBar, xMedian.rMedian
  • Spridningsdiagram: rBar, rMedian, sBar

Processen för att bygga kontrolldiagram med ggQC är enkel. Ladda först biblioteken ggQC och ggplot2. Därefter laddar du dina data i R. Dina data bör vara i långformat. Datamängden nedan är ett exempel på data i lång form om du inte är bekant med termen.

För att skapa ditt kontrolldiagram använder du standard ggplot-syntaxen för lager för lager och kommandot stat_QC(). Exempelkoden nedan visar hur alla dessa steg sammanställs för att skapa en XmR-plot.

1234567891011121314151617181920212223242526
#### Ladda de nödvändiga bibliotekenlibrary(ggplot2)library(ggQC) #### Gör upp några demodata (ladda din fil här istället)set.seed(5555)Process_Data <- data.frame( Process=rep(c("A"), each = 30), #Process A Run_Number=c(1:30), #Run Order Value = c(rnorm(n = 30, mean = 30.5, sd = 1)) #Process A slumpmässiga data ) ### Gör plottenXmR_Plot <- ggplot(Process_Data, aes(x = Run_Number, y = Value)) + #init ggplot geom_point() + geom_line() + # lägg till punkterna och linjerna stat_QC(method = "XmR", # specificera QC-kartläggningsmetod auto.label = T, # Använd autolabels label.digits = 2, # Använd två siffror i etiketten show.1n2.sigma = T # Visa linjer med 1 och två sigma ) + scale_x_continuous(expand = expand_scale(mult = .15)) # Pad the x-axis ### Draw the plot - DoneXmR_Plot

Då du bygger på ggplot-ramverket får du en hög grad av kontroll över plot-detaljerna såsom punkter och linjer osv. Om du dessutom vill placera XmR- och mR-data på samma plot kan du göra det. Gör bara flera anrop till kommandot stat_QC(), som visas nedan.

1234567891011121314
### Två stat_QC-anropXmR_Plot <- ggplot(Process_Data, aes(x = Run_Number, y = Value)) + #init ggplot geom_point() + geom_line() + #add point and lines stat_QC(method = "XmR", #specify QC charting method auto.label = T, # Use Autolabels label.digits = 2, #Use two digit in the label show.1n2.sigma = T #Show 1 and two sigma lines ) + stat_QC(method="mR") + scale_x_continuous(expand = expand_scale(mult = .15)) # Fyll på x-axeln ### Rita plotten - DoneXmR_Plot

För fler exempel på kontrolldiagram kan du läsa dokumentationen, HOWTO:erna och vinjetterna på rcontrolcharts.com.

Violation Analysis

För att kontrollera om det finns data utanför kontrollen i din process kan du använda kommandot stat_qc_violations(). När du kör det här kommandot kontrolleras dina data mot följande 4 Shewart-överträdelseregler:

  • Samma sida: 8 eller fler på varandra följande punkter på samma sida
  • 1 Sigma: 4 eller fler på varandra följande punkter på samma sida som överstiger 1 sigma
  • 2 Sigma: 2 eller fler på varandra följande punkter på samma sida som överstiger 2 sigma
  • 3 Sigma: alla punkter som överstiger 3 sigma

Den här nästa delen av koden visar en överträdelseanalys med kommandot stat_qc_violation() med hjälp av processdata från föregående avsnitt.

12345678
#Använder samma data som föregående exempel. QC_Violations <- ggplot(Process_Data, aes(x = Run_Number, y = Value)) + #init ggplot stat_qc_violations(method = "XmR" #show.facets = 4 #if you just want facet 4 )QC_Violations

Efter att ha utfört koden bör du se en plott med 4 facetter – en för varje Shewartregel. Om du bara vill se den fjärde facetten ställer du in show.facets = 4. Andra inställningar som show.facets = c(2, 4) visar endast överträdelser av 1 och 3 sigma.

För våra testdata observerades inga av de vanliga 4 Shewartöverträdelserna. Fantastiskt! Därefter ska vi titta på att göra en kapacitetsanalys med ggQC.

Kapacitetsanalys

I de tidigare avsnitten har du lärt dig hur man gör ett kontrolldiagram med ggQC och kontrollerar om det finns kränkningar. Här lär du dig att göra en grundläggande kapacitetsanalys (Cp, Cpk, Pp, Ppk etc.). För detta antar vi att kunden har en nedre specifikationsgräns (LSL) och en övre specifikationsgräns (USL) på 25 respektive 37. Med dessa specifikationer och kommandot stat_QC_Capability() kan du göra en grafisk kapacitetsanalys med några enkla rader kod:

12345678910111213
# Använder samma data som i det första exempletCapabilityAnaylsis <- ggplot(Process_Data, aes(x = Värde)) + #init ggplot geom_histogram(binwidth = .75, color="purple") + #gör histogrammet stat_QC_Capability( LSL=25, USL=37, #Ange LSL och USL show.cap.summary = c("Cp", "Cpk"), #utvald sammanfattning digits = 2, #rapportera två siffror method="XmR") + #Använd XmR-metodenscale_x_continuous(expand = expand_scale(mult = c(0.15,.65))) #padd X-axeln #plotta grafenCapabilityAnaylsis

För att justera de kapacitetsmått som visas i grafen, förse argumentet show.cap.summary med en vektor av önskade mått. Tillgängliga mått är:

  • TOL: Tolerans i Sigma-enheter (USL-LSL)/sigma
  • DNS: Avstånd till närmaste specifikationsgräns i Sigma-enheter
  • Cp: Cp: Cp (Metriskt mått för armbågsutrymme inom provet)
  • Cpk: Cpk: Cpk (mått för centrering inom provet)
  • Pp: Pp: Pp (Metriskt mått för armbågsutrymme mellan proverna)
  • Ppk: Ppk: Ppk (mellan provets centreringsmått)
  • LCL: Nedre kontrollgräns
  • X: Processcenter
  • UCL: Övre kontrollgräns
  • Sig: Sigma från styrkort

Den ordning som anges i vektorn är den ordning som visas i diagrammet. I det här fallet valdes endast Cp och Cpk, vilket visas nedan.

Cool! Det ser ut som om processen är i god form. Om du vill se fler exempel på kapacitetsanalys kan du kolla in ggQC-dokumentationen och exemplen på stat_QC_Capability. stat_QC_Capability är också kompatibel med ggplot faceting. Observera att XbarR-kapacitetsdiagrammen specificeras något annorlunda än XmR.

Pareto Analysis

Okej, så dina processer är under kontroll. Du vet dock att din process har flaskhalsar. Var ska du börja? Ett sätt att planera din attack är att göra en Pareto-analys. Antag att du har följande data som visar hur lång tid flera typiska processteg tar.

För att generera ett Pareto-diagram laddar du data, initialiserar ggplot och låter kommandot stat_pareto() göra resten.

12345678910111213141516171819
 #ladda dina dataData4Pareto <- data.frame( KPI = c("Customer Service Time", "Order Fulfillment", "Order Processing Time", "Order Production Time", "Order Quality Control Time", "Rework Time", "Shipping"), Time = c(1.50, 38.50, 3.75, 23.08, 1.92, 3.58, 73.17)) #Gör plottenggplot(Data4Pareto, aes(x=KPI, y=Time)) + stat_pareto(point.color = "red", point.size = 3, line.color = "black", bars.fill = c("blue", "orange") ) + theme(axis.text.x = element_text(angle = 90, hjust = 1, vjust=0.5)) #done

Det ser ut som om vårt nästa förbättringsprojekt kommer att fokusera på antingen frakt eller orderutförande. Lycka till!

Sammanfattning

Att bygga kontrolldiagram med ggQC är snabbt och enkelt, särskilt om du redan är bekant med ggplot. Liksom andra ggplot-grafer har ggQC-kontrolldiagram stöd för facetter och byggs upp lager för lager. Om du behöver göra ett komplicerat diagram kan du göra det. Du kan lägga till så många stat_QC-anrop som du vill (se XbarR_Vignette). Förutom kontrolldiagram kan du med ggQC köra analys av Pareto-, kapacitets- och Shewart-överträdelser. Om du vill veta mer kan du besöka rcontrolcharts.com

Andra användbara länkar

  • En förklaring av kontrolldiagramkonstanter

.

Lämna ett svar

Din e-postadress kommer inte publiceras.