Télécharger les données :

donnees<-read.csv2("https://sjaubert.github.io/SPCR/diameter.csv",header = T)

Examinons si tout c’est bien passé :

is.numeric(donnees$diameter)
## [1] TRUE

Par souci de simplicité, baptisons diameter_butee notre vecteur de données :

diameter_butee<-donnees$diameter

Petit aperçu de ces 30 premiers relevés (6X5)

hist(diameter_butee)

Entrons manuellement les 4 échantillons suivants :

dd<-c(11.91,11.92,11.95,11.94,11.96,11.96,11.94,11.95,
      11.97,11.94,11.97,11.96,11.96,11.95,11.94,12.01,
      12.04,12.03,11.96,11.99)

Puis on concatène les données :

diameter<-c(diameter_butee,dd)
library(qcc) #chargement de la librairie QCC  
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.
mydata<-qcc.groups(diameter,rep(1:10,each=5))
mydata
##     [,1]  [,2]  [,3]  [,4]  [,5]
## 1  11.87 11.86 11.84 11.88 11.87
## 2  11.87 11.85 11.86 11.84 11.89
## 3  11.91 11.90 11.86 11.88 11.87
## 4  11.89 11.91 11.89 11.88 11.92
## 5  11.91 11.92 11.93 11.89 11.90
## 6  11.85 11.91 11.92 11.93 11.90
## 7  11.91 11.92 11.95 11.94 11.96
## 8  11.96 11.94 11.95 11.97 11.94
## 9  11.97 11.96 11.96 11.95 11.94
## 10 12.01 12.04 12.03 11.96 11.99

Pour des infos supplémentaires sur le package QCC : https://cran.r-project.org/web/packages/qcc/vignettes/qcc_a_quick_tour.html

Faisons notre première carte de contrôle celle des Xbar :

q1<-qcc(data = mydata,type = "xbar")

On constate 6 points hors contrôle au début et à la fin…

Regardons la carte R :

q2<-qcc(data = mydata,type="R")

La dispersion semble assez bien maitrisée

Vérifions si les données sont distribuées normalement

qqnorm(diameter);qqline(diameter,col="red",lwd=2)

Un test pour appuyer cette évaluation visuelle est toujours préférable :

shapiro.test(diameter)
## 
##  Shapiro-Wilk normality test
## 
## data:  diameter
## W = 0.96638, p-value = 0.1643

Avec un p-value > 10% il est raisonnable d’accepter l’hypothèse de normalité ou tout du moins nous la rejettons pas…

Faire à présent une étude capabilité est raisonnable :

process.capability(q1,spec.limits = c(11.85,12),breaks = 10)

## 
## Process Capability Analysis
## 
## Call:
## process.capability(object = q1, spec.limits = c(11.85, 12), breaks = 10)
## 
## Number of obs = 50           Target = 11.93
##        Center = 11.92           LSL = 11.85
##        StdDev = 0.02107         USL = 12
## 
## Capability indices:
## 
##       Value    2.5%  97.5%
## Cp    1.187  0.9523  1.421
## Cp_l  1.060  0.8677  1.253
## Cp_u  1.313  1.0817  1.545
## Cp_k  1.060  0.8308  1.289
## Cpm   1.109  0.8793  1.339
## 
## Exp<LSL 0.074%    Obs<LSL 4%
## Exp>USL 0%    Obs>USL 6%

Avec un \(C_{p}=1.19\) le processus est tout juste acceptable le \(C_{pk}=1.06\) est par contre trop limite, un décentrage se fait sentir.