Rによるデータ分析

Rによる管理図

管理図工程能力 は、時間的な安定性を評価する方法として、品質管理の分野でよく知られています。

管理図の種類とデータの前提条件

xbar管理図、 R管理図、S管理図

1行目は、列名ではなく、1個目のデータとして読み込むようになっています。 そのため、扱うのはすべて数字になっているデータになります。

同じ列は同じグループとして扱われます。 グラフになるのは、列ごとの平均値、範囲、標準偏差といった統計量です。

xbar.one(X管理図)

1行目は、列名ではなく、1個目のデータとして読み込むようになっています。

データは、1列目の並んでいる必要があります。 これがそのままグラフになります。

p管理図,、np管理図

1行目は、列名ではなく、1個目のデータとして読み込むようになっています。

1列目が、グループ毎のNGの数です。 2列目が、そのグループの総数です。

u管理図

1行目は、列名ではなく、1個目のデータとして読み込むようになっています。

1列目が、グループ毎の欠点の数です。 2列目が、そのグループの総数です。

c管理図

1行目は、列名ではなく、1個目のデータとして読み込むようになっています。

1列目が、グループ毎の欠点の数です。

T2管理図

この管理図だけ、1行目が列名になっている必要があります。 多変量解析で扱う、表形式のデータと同じ形態で、すべての変数で行数が同じになっている必要があります。

Rのコード

管理図

Newdata <- 1 # 例えば、「2」だと、1行目のデータが学習データになり、2行目以降のデータが、テストデータとして扱われます。
Control_chart_type <- "xbar"
# xbar, R, S, xbar.one, p, np, u, c, T2から選びます
setwd("C:/Rtest")
# データのあるディレクトリの指定
if(Control_chart_type == "T2"){
Data <- read.csv("Data.csv", header=T)
# データの読み込み
} else {
Data <- read.csv("Data.csv", header=F)
# データの読み込み
}

library(qcc)
if(Newdata < 2){
if(Control_chart_type == "p" ||Control_chart_type == "np" ||Control_chart_type == "u"){
q1 <- qcc(Data[,1],sizes=Data[,2], type=Control_chart_type)
} else if(Control_chart_type == "c"){
q1 <- qcc(Data[,1], type=Control_chart_type)
} else if(Control_chart_type == "T2"){
q1 <- mqcc(Data, type=Control_chart_type)
} else {
q1 <- qcc(Data,type=Control_chart_type)
}

} else {
if(Control_chart_type == "p" ||Control_chart_type == "np" ||Control_chart_type == "u"){
q1 <- qcc(Data[1:Newdata-1,1],sizes=Data[1:Newdata-1,2], type=Control_chart_type, newdata=Data[Newdata:nrow(Data),1], newsizes=Data[Newdata:nrow(Data),2])
} else if(Control_chart_type == "c"){
q1 <- qcc(Data[1:Newdata-1,1], type=Control_chart_type, newdata=Data[Newdata:nrow(Data),1])
} else if(Control_chart_type == "T2"){
q1 <- mqcc(Data[1:Newdata-1,], type=Control_chart_type, newdata=Data[Newdata:nrow(Data),])
} else {
q1 <- qcc(Data[1:Newdata-1,],type=Control_chart_type, newdata=Data[Newdata:nrow(Data),])
}
}

summary(q1)


qcc

工程能力

xbar管理図とxbar.one管理図については、上のコードの後で、さらに下のコードを使うと、工程能力の分析ができます。

LSL <- "" # xbarとxbar.oneの管理図で工程能力を計算したい時には、ここの数字が下限として使われます。「""」だと計算されません。
USL <- ""
# こちらは上限として使われます。
Target <- ""
# こちらは目標値として使われます。

if(Control_chart_type == "xbar"){
process.capability(q1, spec.limits=c(LSL,USL),target = Target)
}
if(Control_chart_type == "xbar.one"){
process.capability(q1, spec.limits=c(LSL,USL),target = Target)
}

qcc



Tweet データサイエンス教室