题目

某工厂为了提高某产品的收率,根据经验和分析,认为反应温度A、反应时间B、碱用量C和催化剂种类D可能对产品的收率造成较大的影响,并考虑交互作用AB,AC。用正交表L8(27)安排试验,试验方案及结果如下表所示,试用直观分析和方差分析来分析结果。

解答

1 数据预处理

读取数据,对各因子列数据进行因子化处理,并将最后一列y对应值赋值给response

mydata = read.csv("data2.csv",fileEncoding = "UTF-8-BOM")
head(mydata)attach(mydata)
for (i in 3:ncol(mydata)-1) {mydata[,i] <- as.factor(mydata[,i])
}response = mydata[,ncol(mydata)]
> mydata = read.csv("data2.csv",fileEncoding = "UTF-8-BOM")
> head(mydata)试验号 A B A.B C A.C 空列 D 收率
1      1 1 1   1 1   1    1 1   65
2      2 1 1   1 2   2    2 2   74
3      3 1 2   2 1   1    2 2   71
4      4 1 2   2 2   2    1 1   73
5      5 2 1   2 1   2    1 2   70
6      6 2 1   2 2   1    2 1   73
>
> #attach(mydata)
> for (i in 3:ncol(mydata)-1) {
+   mydata[,i] <- as.factor(mydata[,i])
+ }
>
> response = mydata[,ncol(mydata)]
>

2 直观分析法

分别计算每一个因子对应的极差(各水平下最大均值-最小均值),将计算结果存于数据框K中

k.max = c(NULL)#存最大效应值
k.min = c(NULL)#存最小效应值
k.maxlevel = c(NULL)#最大效应值对应水平
J = 1
for (i in 3:ncol(mydata)-1) {KK = tapply(response, mydata[,i], mean)k.max[J] = each(max)(KK)k.min[J] = each(min)(KK)k.maxlevel[J] = which(KK==k.max[J])J=J+1
}
k.mean = k.max - k.min#计算极差
factors = colnames(mydata)[3:ncol(mydata)-1]
K <- data.frame(factors,k.mean, k.maxlevel, k.max, k.min) ##生成数据框
K
> k.max = c(NULL)#存最大效应值
> k.min = c(NULL)#存最小效应值
> k.maxlevel = c(NULL)#最大效应值对应水平
> J = 1
> for (i in 3:ncol(mydata)-1) {
+   KK = tapply(response, mydata[,i], mean)
+   k.max[J] = each(max)(KK)
+   k.min[J] = each(min)(KK)
+   k.maxlevel[J] = which(KK==k.max[J])
+   J=J+1
+ }
> k.mean = k.max - k.min#计算极差
> factors = colnames(mydata)[3:ncol(mydata)-1]
> K <- data.frame(factors,k.mean, k.maxlevel, k.max, k.min) ##生成数据框
> Kfactors k.mean k.maxlevel k.max k.min
1       A   2.75          1 70.75 68.00
2       B   2.25          1 70.50 68.25
3     A.B   4.75          2 71.75 67.00
4       C   4.75          2 71.75 67.00
5     A.C   0.75          2 69.75 69.00
6    空列   1.25          2 70.00 68.75
7       D   2.25          2 70.50 68.25
>

由计算结果可知,若只考虑极差的效果,则各因素对响应值的效应主次排序为:
C=A×B>A>B=D>空列>A×CC=A \times B>A>B=D>空列>A \times C C=A×B>A>B=D>空列>A×C
绘制因子各水平作用效应均值图:

#只有当正交实验中各因子为两水平时才可以调用以下代码绘制图形
library(DoE.base)
library(FrF2)
lm.model = lm(response~A+B+A.B+C+A.C+空列+D,data=mydata)
MEPlot(lm.model, abbrev = 2, response = "mean")

其中AXC的效应比误差列还小,故不太显著;其它因素的效应较大,认为比较显著

最大收率对应的最优组合为:C2A1B2D2C_2A_1B_2D_2C2​A1​B2​D2​

3 方差分析法

3.1 正态性检验

对全体响应(response)进行正态性分布,采用w检验

shapiro.test(response)#检验全体response
> shapiro.test(response)Shapiro-Wilk normality testdata:  response
W = 0.91452, p-value = 0.387

检验原假设是全体响应满足正态性分布,由w检验可知p>0.05p>0.05p>0.05,接受原假设,response服从正态分布

3.2 方差齐性检验

采用bartlett方法对各因子不同水平下响应进行方差齐性检验

bartlett.test(response ~ A, data = mydata)
bartlett.test(response ~ B, data = mydata)
bartlett.test(response ~ A.B, data = mydata)
bartlett.test(response ~ C, data = mydata)
bartlett.test(response ~ A.C, data = mydata)
bartlett.test(response ~ 空列, data = mydata)
bartlett.test(response ~ D, data = mydata)
> bartlett.test(response ~ A, data = mydata)Bartlett test of homogeneity of variancesdata:  response by A
Bartlett's K-squared = 0.058776, df = 1, p-value = 0.8084
> bartlett.test(response ~ B, data = mydata)Bartlett test of homogeneity of variancesdata:  response by B
Bartlett's K-squared = 0.086259, df = 1, p-value = 0.769
> bartlett.test(response ~ A.B, data = mydata)Bartlett test of homogeneity of variancesdata:  response by A.B
Bartlett's K-squared = 3.1548, df = 1, p-value = 0.0757
> bartlett.test(response ~ C, data = mydata)Bartlett test of homogeneity of variancesdata:  response by C
Bartlett's K-squared = 0.2012, df = 1, p-value = 0.6538
> bartlett.test(response ~ A.C, data = mydata)Bartlett test of homogeneity of variancesdata:  response by A.C
Bartlett's K-squared = 0.39792, df = 1, p-value = 0.5282
> bartlett.test(response ~ 空列, data = mydata)Bartlett test of homogeneity of variancesdata:  response by 空列
Bartlett's K-squared = 0.49935, df = 1, p-value = 0.4798
> bartlett.test(response ~ D, data = mydata)Bartlett test of homogeneity of variancesdata:  response by D
Bartlett's K-squared = 1.0656, df = 1, p-value = 0.3019

由检验结果可知,各因子不同水平下检验方差齐性时原假设发生概率 p>0.05p>0.05p>0.05均成立,故接受原假设,各因子不同水平下的各组响应满足方差齐性

3.3 方差分析

使用aov()函数对数据进行方差分析;检验对象为响应(response),先计算4各因子所对应的方差

first_aov = aov(response~A+B+A.B+C+A.C+空列+D,data=mydata)
summary(first_aov)
> first_aov = aov(response~A+B+A.B+C+A.C+空列+D,data=mydata)
> summary(first_aov)Df Sum Sq Mean Sq
A            1  15.13   15.13
B            1  10.12   10.12
A.B          1  45.12   45.12
C            1  45.13   45.13
A.C          1   1.13    1.13
空列         1   3.13    3.13
D            1  10.13   10.13

由方差计算结果可知,
VA.C=1.13,V空列=3.13,VA.C<V空列V_{A.C}=1.13,V_{空列}=3.13,V_{A.C}<V_{空列} VA.C​=1.13,V空列​=3.13,VA.C​<V空列​
由此认为在VA.CV_{A.C}VA.C​的偏差中,由因素水平变化的影响部分很小,它的偏差实际上主要是由于误差干扰造成的,这在进行显著性实验前就能确定。因此将SA.C,S空列S_{A.C},S_{空列}SA.C​,S空列​合并在一起,用于估计误差影响的大小,而且误差的自由度越大,进行显著性检验时越精确

3.4 显著性检验

合并后,对余下各列进行显著性检验

last_aov = aov(response ~ A+B+A.B+C+D,data=mydata)
summary(last_aov)
> last_aov = aov(response ~ A+B+A.B+C+D,data=mydata)
> summary(last_aov)Df Sum Sq Mean Sq F value Pr(>F)
A            1  15.13   15.13   7.118  0.116
B            1  10.12   10.12   4.765  0.161
A.B          1  45.12   45.12  21.235  0.044 *
C            1  45.13   45.13  21.235  0.044 *
D            1  10.13   10.13   4.765  0.161
Residuals    2   4.25    2.13
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
>

由显著性检验结果可知,对于原假设H0:因素C对收率无显著影响,而方差分析结果为原假设出现的概率 p=0.044,p<0.05p=0.044,p<0.05p=0.044,p<0.05,故认为不同C对收率有显著影响。同理可知,AXB(A与B的交互作用)有显著影响,而B、D和AXC对收率无显著影响。

绘制A与B的交互作用图进行辅助说明

with(mydata,interaction.plot(A,B,response,col=c("red","blue"),pch=c(16,18),type="b",lwd=3))

交互作用图中,两线交叉进一步证明AB间存在有交互作用。

4 结论

结合直观分析法和方差分析法,可知

  • A的效应比随机误差带来的明显,但不显著;

  • B的效应比随机误差带来的明显,但不显著;

  • AXB(AB间的交互作用)对收率影响显著;

  • C对收率影响显著;

  • D的效应比随机误差带来的明显,但不显著;

  • AXC(AC间的交互作用)的效应比随机误差带来的还要弱,不显著

最大收率对应的最优组合为:C2A1B2D2,即A1B2C2D2C_2A_1B_2D_2,即A_1B_2C_2D_2C2​A1​B2​D2​,即A1​B2​C2​D2​

R语言对正交实验结果(含交互作用)进行极差分析与方差分析实例相关推荐

  1. R语言限制性立方样条(RCS, Restricted cubic spline)分析:基于logistic回归模型、南非心脏病数据集(South African Heart Disease)

    R语言限制性立方样条(RCS, Restricted cubic spline)分析:基于logistic回归模型.南非心脏病数据集(South African Heart Disease) 目录

  2. R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战

    R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战 目录 R语言相关性计算及使用ggcorrplot包相关性分析热力图可视化分析实战

  3. R语言广义线性模型Logistic回归模型亚组分析及森林图绘制

    R语言广义线性模型Logistic回归模型亚组分析及森林图绘制 #Logistic回归案例 6 亚组分析森林图 library(forestplot) rs_forest <- read.csv ...

  4. R语言xlsx包读取含中文Excel文件时出现乱码或“多字节字符串6有错”的解决方案

    R语言处理含中文Excel文件时,由于编码的不一致,总会出现各种各样的问题.例如,使用xlsx包读取xlsx文件时,若内容中含有中文,就会出现乱码,甚至会报错. 例如使用这个表格: data1 < ...

  5. R语言 | 多项式回归, 正交多项式回归(Polynomial Regression), 滑动多项式回归(sliding polynomial regression)

    1. 多项式回归 P404/643 alloy<-data.frame(x=c(37.0, 37.5, 38.0, 38.5, 39.0, 39.5, 40.0,40.5, 41.0, 41.5 ...

  6. R语言和医学统计学(6):重复测量方差分析

    本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文. 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化. 文章目录 前言 重复测量数据两因素两水平的方差分析 重复测量 ...

  7. R语言和医学统计学(5):多因素方差分析

    本文首发于公众号:医学和生信笔记,完美观看体验请至公众号查看本文. 医学和生信笔记,专注R语言在临床医学中的使用,R语言数据分析和可视化. 文章目录 前言 2 x 2 两因素析因设计资料的方差分析 I ...

  8. R语言也可以进行ATAC数据的完整分析啦!

    欢迎关注"生信修炼手册"! 个人认为,R语言有两个强项,统计和绘图.在生物信息数据分析中,R语言更多时候是发挥一个科学计算和可视化的作用.当然,R语言的功能远不止于此,不仅可以作为 ...

  9. R语言关于心脏病相关问题的预测和分析

    简介 背景 心脏病由心脏结构受损或功能异常引起包括先天性心脏病和后天性心脏病,不同类型的心脏病表现不同,轻重不一. 本报告是基于R语言对心脏研究的机器学习/数据科学调查分析.更具体地说,我们的目标是在 ...

最新文章

  1. SpringSecurity使用 配置文件 和wen.xml 文件配置
  2. SpringMVC流程图示
  3. 1185 威佐夫游戏 V2
  4. spark中local模式与cluster模式使用场景_不可不知的Spark调优点
  5. HDFView 3.1.2 在WIN10系统安装后打开出现黑框闪退的解决方法
  6. 在php里bd2什么意思,PSR-2 PHP三元语法中是否需要括号?
  7. [转载]Android系统上(mv不可用)cp命令的替代方法
  8. python从入门到精通需要多久-python从入门到精通需要多久?你需要先明白这两个点...
  9. iOS C++ 关于深度学习(机器学习) (一)学习概览
  10. oracle11.2.0.4使用impdp导入时报错:ORA-39083 ORA-00439
  11. 用mysql求同类型用户重合度_匹配csdn用户数据库与官方用户的重合度并将重叠部分的用户筛选出来_PHP教程...
  12. 导致页面布局混乱的几个元凶
  13. 用pageOffice插件实现 word文档在线填充指定数据
  14. 【秒懂+解决方案】git error: The following untracked working tree files would be overwritten by checkout: ...
  15. 奇舞学院学习笔记之CSS一页通
  16. ElasticSearch技术方案(二)——站内搜索
  17. 网络爬虫-爬取有效机构查询网(CNAS)全量数据
  18. spring注解 @primary
  19. Java高级程序设计笔记 • 【第6章 设计模式】
  20. Java第十一天笔记01——多线程编程

热门文章

  1. html+css+js 制作 PC 端酷狗音乐网页
  2. 【亲测有效】维基百科图片不能显示
  3. 蓝桥杯单片机学习11——PCF8591A/DD/A转换芯片
  4. Nginx https 协议配置 ssl_protocols 的相关问题
  5. 解决:springmvc中接收date数据问题
  6. Tauri 入门教程
  7. 如何将SOCKS5代理转换成HTTP代理?
  8. 2023届暑期实习京东物流一面
  9. python爬虫实战:selenium下载百度文库文档
  10. ODOO13 开发教程八 自定义导出数据到Excel