R语言实现Xbar-R控制图

R语言实现Xbar-R控制图

Xbar-R控制图在质量管理中主要用于对计量数据进行检测,以达到控制对象质量的目的。

虽然用Excel可以轻松实现控制图的操作,不过作为R软件初学者,我试着用仅有的一点R语言知识进行了控制图的绘制操作。虽然画出来了但是代码实在是低效,以后再慢慢改进吧。

> data <- read.csv("kzt.csv")  #打开数据

> D3 <- 0; D4 <- 2.114; A2 <-0.577  #三个系数,下文会用到

1.###计算各样本的极差

> r1 <- c()

> for(i in 1:20) r1[i] <- max(data[i,])-min(data[i,]) 

2.###计算极差上下界,并画出R控制图

> UCL_R <- D4*mean(r1)

> CL_R <- mean(r1)

> LCL_R <- D3*mean(r1)

> plot(r1, type="o",ylim=c(0,40),main="Range") 

> abline(h=UCL_R, lty='dashed')

> abline(h=CL_R)

> abline(h=LCL_R, lty='dashed')

存在有出界值。利用which()函数确定出界位置(虽然能直接看出是样本7)

> which(r1>UCL_R)

[1] 7

3.###把样本7从数据中删掉然后对样本进行重新编号

> data <- data[-7,]

> rownames(data) <- 1:nrow(data)

4.###重新计算各样本的极差

> r11 <- c()

> for(i in 1:19) r11[i] <- max(data[i,])-min(data[i,])

5.###重新计算极差上下界,并画出R控制图(代码如2,将r1换成r11即可)

此时R图判稳。接下来作Xbar图。

6.###计算各样本的均值

> m1 <- c()

> for(i in 1:19) m1[i] <- apply(data[i,],1,mean)

7.###计算均值上下界,并画出Xbar控制图(套路跟画极值控制图差不多)

> UCL_M <- mean(m1) A2*mean(r11)

> CL_M <- mean(m1)

> LCL_M <- mean(m1)-A2*mean(r11)

> plot(m1,type="o",ylim=c(60,90),main="Mean")

> abline(h=UCL_M, lty='dashed')

> abline(h=LCL_M, lty='dashed')

> abline(h=CL_M)

有出界值,找出出界值

> which(m1

[1] 13

8.###把样本13从数据中删掉然后对样本进行重新编号

> data <- data[-13,]

> rownames(data) <- 1:nrow(data)

9.###重新计算各样本均值、极差和均值上下界,并画出R控制图和Xbar控制图

此时Xbar与R图都判稳,生产过程的均值与变异度都处于稳态。延长统计过程状态下的Xbar-R图的控制限,即可进入控制用控制图阶段,实现对过程的日常控制。

原文地址:https://www.cnblogs.com/amengduo/p/9587034.html