richiamo la libreria per il controllo statistico di qualità

library(qcc)
## Package 'qcc' version 2.7
## Type 'citation("qcc")' for citing this R package in publications.

apro il dataset e lo leggo

data(pcmanufact)
#?pcmanufact
pcmanufact
##     x size
## 1  10    5
## 2  12    5
## 3   8    5
## 4  14    5
## 5  10    5
## 6  16    5
## 7  11    5
## 8   7    5
## 9  10    5
## 10 15    5
## 11  9    5
## 12  5    5
## 13  7    5
## 14 11    5
## 15 12    5
## 16  6    5
## 17  8    5
## 18 10    5
## 19  7    5
## 20  5    5

La variabile size rappresenta il numero di computer ispezionati, la variabile x rappresenta il numero di non conformità

costruisco la carta di controllo c

cchart_pc<-qcc(pcmanufact$x,type="c",data.name = "Total number of nonconformities per sample" )

costruisco la carta di controllo u

uchart_pc<-qcc(pcmanufact$x, sizes=pcmanufact$size, type="u",data.name = "Mean number of nonconformities per sampling unit")

ora apriamo un altro dataset

data(orangejuice)
#?orangejuice
orangejuice
##    sample  D size trial
## 1       1 12   50  TRUE
## 2       2 15   50  TRUE
## 3       3  8   50  TRUE
## 4       4 10   50  TRUE
## 5       5  4   50  TRUE
## 6       6  7   50  TRUE
## 7       7 16   50  TRUE
## 8       8  9   50  TRUE
## 9       9 14   50  TRUE
## 10     10 10   50  TRUE
## 11     11  5   50  TRUE
## 12     12  6   50  TRUE
## 13     13 17   50  TRUE
## 14     14 12   50  TRUE
## 15     15 22   50  TRUE
## 16     16  8   50  TRUE
## 17     17 10   50  TRUE
## 18     18  5   50  TRUE
## 19     19 13   50  TRUE
## 20     20 11   50  TRUE
## 21     21 20   50  TRUE
## 22     22 18   50  TRUE
## 23     23 24   50  TRUE
## 24     24 15   50  TRUE
## 25     25  9   50  TRUE
## 26     26 12   50  TRUE
## 27     27  7   50  TRUE
## 28     28 13   50  TRUE
## 29     29  9   50  TRUE
## 30     30  6   50  TRUE
## 31     31  9   50 FALSE
## 32     32  6   50 FALSE
## 33     33 12   50 FALSE
## 34     34  5   50 FALSE
## 35     35  6   50 FALSE
## 36     36  4   50 FALSE
## 37     37  6   50 FALSE
## 38     38  3   50 FALSE
## 39     39  7   50 FALSE
## 40     40  6   50 FALSE
## 41     41  2   50 FALSE
## 42     42  4   50 FALSE
## 43     43  3   50 FALSE
## 44     44  6   50 FALSE
## 45     45  5   50 FALSE
## 46     46  4   50 FALSE
## 47     47  8   50 FALSE
## 48     48  5   50 FALSE
## 49     49  6   50 FALSE
## 50     50  7   50 FALSE
## 51     51  5   50 FALSE
## 52     52  6   50 FALSE
## 53     53  3   50 FALSE
## 54     54  5   50 FALSE

La variabile size rappresenta la taglia del campione, la variabile D il numero di difetti, sample l’id del campione e trial (variabile booleana) vale true se il campione è di prova

memorizziamo tutte le variabii incluse nel dataset

attach(orangejuice)

costruiamo la carta di controllo p

pchart_oj<-qcc(D[trial], sizes=size[trial], type="p")

Individuo i segnali

segnali<-pchart_oj$violations$beyond.limits

Adesso osservo come, se non tolgo i segnali, come la carta etichetta i nuovi dati

# se non tolgo i segnali
pchart_oj_all<-qcc(D[trial], sizes=size[trial], type="p",data.name="Trail",newdata=D[!trial],newsizes=size[!trial],newdata.name = "test set")

Vediamo ora, invece, come la carta etichetta i nuovi dati se elimino i segnali

# tolgo i segnali:
pchart_oj_adjust<-qcc(D[trial][-segnali], sizes=size[trial][-segnali], type="p")

pchart_oj_all_adjust<-qcc(D[trial][-segnali], sizes=size[trial][-segnali], type="p",data.name="Trail",newdata=D[!trial],newsizes=size[!trial],newdata.name = "test set")