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

2023-05-16

题目

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

image-20211103163708216

解答

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) ##生成数据框
> K
  factors 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 × C C=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")

image-20211104161602557

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

最大收率对应的最优组合为: C 2 A 1 B 2 D 2 C_2A_1B_2D_2 C2A1B2D2

3 方差分析法

3.1 正态性检验

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

shapiro.test(response)#检验全体response
> shapiro.test(response)

	Shapiro-Wilk normality test

data:  response
W = 0.91452, p-value = 0.387

检验原假设是全体响应满足正态性分布,由w检验可知 p > 0.05 p>0.05 p>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 variances

data:  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 variances

data:  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 variances

data:  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 variances

data:  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 variances

data:  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 variances

data:  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 variances

data:  response by D
Bartlett's K-squared = 1.0656, df = 1, p-value = 0.3019

由检验结果可知,各因子不同水平下检验方差齐性时原假设发生概率 p > 0.05 p>0.05 p>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

由方差计算结果可知,
V A . C = 1.13 , V 空 列 = 3.13 , V A . C < V 空 列 V_{A.C}=1.13,V_{空列}=3.13,V_{A.C}<V_{空列} VA.C=1.13,V=3.13VA.C<V
由此认为在 V A . C V_{A.C} VA.C的偏差中,由因素水平变化的影响部分很小,它的偏差实际上主要是由于误差干扰造成的,这在进行显著性实验前就能确定。因此将 S A . 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.05 p=0.044,p<0.05 p=0.044p<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))

image-20211104162745109

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

4 结论

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

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

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

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

  • C对收率影响显著;

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

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

最大收率对应的最优组合为: C 2 A 1 B 2 D 2 , 即 A 1 B 2 C 2 D 2 C_2A_1B_2D_2,即A_1B_2C_2D_2 C2A1B2D2,A1B2C2D2

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

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

  • 秒杀商品的一些思路分享,redis的链表、mq、mysql排他锁

    运用的技术 1 redis链表 xff08 预库存 xff09 2 rabbitMq xff08 记录秒杀成功的订单数据 xff09 3 php 两个方案 1 mysql 开启事务 xff0c 生成排他锁 x1f512 2 redis链表
  • 服务器配置https,以及报错解决

    一 获取SSL证书 1 1 阿里中购买SSL证书 1 二 安装SSL证书 2 1 下载证书 2 2 使用nginx配置 2 三 配置SSL证书 3 四 参考文档分享 4 开启HTTPS 获取SSL证书 阿里中购买SSL证书 1 登录到阿里云
  • 一款超好用的python的log记录工具——loguru

    一款超好用的python的log记录工具 loguru 1 安装 pip span class token function install span loguru 2 使用简介 2 1 add 函数 在loguru中 xff0c 只需要通
  • Eclipse控制台Console使用说明

    1 说明 本文详细介绍Eclipse控制台Console使用说明 xff0c 调试时通过控制台查看日志 xff0c 有时候日志太多会找不到上面的日志 xff0c 有时候几个控制台会不受控制的弹出 xff0c 那么请参考本文 xff0c 通过
  • 二叉树高度最简单的求法

    假设这是一颗满二叉树 xff0c n为节点的总个数 xff0c 那么 n 43 1 2为最后一层节点数 xff0c 除以h 1次的2就是第一层的节点数即为1 之所以选择满二叉树来算 xff0c 是因为这样算起来最方便 xff0c 最后一层节
  • 单片机类型介绍和入门单片机

    单片机类型介绍和入门单片机 单片机是一种集成电路芯片 xff0c 通常包含一个或多个中央处理器 xff08 CPU xff09 存储器 输入输出端口 xff08 I O xff09 和计时器等部件 xff0c 可以完成各种控制和数据处理任务
  • Python 3.7 安装完成后import ssl失败解决方法

    提示找不到SSL模块 python安装完毕后 xff0c 提示找不到ssl模块 xff1a root 64 localhost python2 7 5 Python 2 7 5 default Jun 3 2013 11 08 43 GCC
  • activemq的安装和使用【2】activemq的queue模式

    activemq共有两种模式 xff0c 一是点对点 xff0c 一是发布和订阅 xff0c 不管是哪种方式 xff0c 都包含两个角色 xff0c 一是消息的生产者 xff0c 一是消息的消费者 点对点是消息只能被一个消费者收到 xff0
  • Nacos源码分析

    Nacos源码分析 1 下载Nacos源码并运行 要研究Nacos源码自然不能用打包好的Nacos服务端jar包来运行 xff0c 需要下载源码自己编译来运行 1 1 下载Nacos源码 Nacos的GitHub地址 xff1a https
  • Sentinel源码分析

    Sentinel源码分析 1 Sentinel的基本概念 Sentinel实现限流 隔离 降级 熔断等功能 xff0c 本质要做的就是两件事情 xff1a 统计数据 xff1a 统计某个资源的访问数据 xff08 QPS RT等信息 xff
  • Nginx 基础使用、配置文件详解、Keepalived高可用

    Nginx 基础使用 安装 span class token comment 解压nginx压缩包 xff0c 压缩包自行下载 span tar zxvf nginx 1 span class token punctuation span
  • 阿里巴巴Java开发手册中的DO、DTO、BO、AO、VO、POJO定义

    常用文件夹分层 xff1a pojo vo xff08 与前端交互的所有对象 xff0c 包括接参和返回 xff09 query xff08 查询的筛选条件 xff0c 前端传参和后端内部传参通用 xff09 entity xff08 数据
  • 分布式锁笔记

    分布式锁笔记 分布式锁1 传统锁回顾1 1 从减库存聊起1 2 环境准备1 3 简单实现减库存1 4 演示超卖现象1 5 jvm锁问题演示1 5 1 添加jvm锁1 5 2 原理 1 6 多服务问题1 6 1 安装配置nginx1 6 2
  • 分布式锁总结

    乐观锁 在select的时候不会加锁 xff0c 是基于程序实现的 xff0c 所以不会存在死锁的情况 适用于读多写少的场景 xff08 写的并发量相对不高 xff09 xff0c 可以提高系统的吞吐量 因为如果写多的话 xff0c 乐观锁
  • Xstart远程连接Linux图形用户界面

    目标 xff1a 在自己的Windows桌面打开Linux的firefox浏览器 工具 xff1a Windows Xmanager的Xstart工具 Linux xterm firefox 说明 xff1a 使用Xstart远程连接Lin
  • 微信内置小程序在线客服功能

    在小程序中加入客服消息按钮 小程序接入微信 客服消息 功能模块 xff0c 开发者只需要调用按钮 xff0c 触发微信的客服消息功能即可 xff0c 不需要自行在小程序中实现 加入客服消息按钮有两个方法 xff0c 大家可以根据自己的实际需
  • Java实例化泛型

    public D newUsr D newUsr try 通过反射获取model的真实类型 ParameterizedType pt 61 ParameterizedType this getClass getGenericSupercla
  • Windows桌面下面任务栏无法点击(卡住)的解决办法

    Windows桌面下面任务栏无法点击 卡住 的解决办法 大家再使用Windows的时候 xff0c 有时候会碰到桌面卡住无法点击下面的任何图标的现象 xff0c 若不知道如何解决 xff0c 可能就开始重启电脑了 xff0c 其实不必要 x
  • 剑指offer03

    数组中的重复数字 题目 在一个长度为 n 的数组 nums 里的所有数字都在 0 xff5e n 1 的范围内 数组中某些数字是重复的 xff0c 但不知道有几个数字重复了 xff0c 也不知道每个数字重复了几次 请找出数组中任意一个重复的
  • 如何pycharm与jupyter lab/notebook结合使用

    如何pycharm与jupyter lab notebook结合使用 原因效果教程 原因 jupyter lab的自动补全并不好用 xff0c 使用了kite后总是存在卡顿的现象 xff0c 正好在pycharm中支持jupyter lab

随机推荐

  • 【杭电100题】2073 无限的路

    题目链接 xff1a http acm hdu edu cn showproblem php pid 61 2073 xff08 c语言的double类型printf lf 显示0 00000问题 xff09 xff1a https blo
  • 【杭电100题】2094 产生冠军

    原题 xff1a http acm hdu edu cn showproblem php pid 61 2094 最近很喜欢用map 把成功者 失败者都存起来 然后在成功者里把曾经失败的划掉 最后成功者里如果只剩一个人 xff0c 冠军产生
  • 逆变电路

    逆变的概念 与整流相对应 xff0c 直流电 变成 交流电 交流侧接电网 xff0c 为 有源逆变 交流侧接负载 xff0c 为 无源逆变 xff0c 本章主要讲述无源逆变 逆变与变频 变频电路 xff1a 分为 交交变频 和 交直交变频
  • 博客搭建教程1-Archlinux环境配置

    文章目录 1 前言2 archlinux镜像下载3 archlinux安装 1 前言 这个教程主要讲解linux环境下博客的搭建 xff0c 这里的linux系统选择archlinux xff0c 博客的框架基于hexo框架 参考博客 xf
  • 如何在git bash中启用复制粘贴快捷键

    方法一 xff1a 1 鼠标右键点击左上角 xff0c 选择属性 xff08 如果是英文就选择properties xff09 xff1a 2 在选项中勾选相应选项 xff1a 然后就完事了 方法二 xff1a 从其他地方复制一段文本 2
  • 栈,队列(纸牌游戏,小猫钓鱼)

    文章目录 队列 xff1a FIFO实现顺序队列 xff1a 1 顺序循环队基本操作2 链队 栈1 顺序栈栈的元素初始化操作入栈操作判断顺序栈是否为空栈的长度出栈清空一个栈销毁顺序栈 2 链式栈 应用栈1 xff1a 判断回文字符串栈与队列
  • SELinux

    domain https www cnblogs com ly565911158 p 3622942 html coredomain https www cnblogs com liwugang p 12433028 html xff08
  • 电脑任务栏无法点击

    解决方法 1 启动任务管理器 xff08 Ctrl 43 alt 43 找到windows 资源管理器重新启动 xff09 2 win10 更新后右下方有个天气资讯的推送点击全部选择关闭 xff0c 在任务栏上也点击取消
  • 如何快速获取网页源码(直接把网站的 js css html 扒下来的)

    如何快速获取网页源码 xff1f 我们在学习和研究的时候 或者看到非常酷炫的页面效果 xff0c 需要网站的源代码进行借鉴 xff0c 但每次需要下载网站源代码 xff0c 我们都需要找到一个 xff0c 下载一个 xff0c 每次只能下载
  • 人工智能大作业——人脸识别系统(最终)

    写在前面 时间过得飞快 xff0c 时间已经距离我发第一篇文章过去2年多了 xff0c 也不再从事代码工作 xff0c 偶然间上到csdn翻看文章经过 xff0c 看到还是有些人关注人脸识别系统的后续的 xff0c 我猜大概率是学弟学妹们正
  • JAVA json 三种格式

    json三种格式 span class token class name JSONObject span jsonParam span class token operator 61 span span class token keywor
  • java.lang.NumberFormatException: For input string: ""解决方案

    引起异常的主要原因如下 xff1a 1 传参字段和映射字段不一致2 传参类型和映射类型不一致3 时间类型转换时间戳长度不一致4 参数长度和数据库不一致 Service 层代码 span class token keyword public
  • 个性化命令提示符CMD,不止简单地美化,Dos命令让你的命令提示符cmd花里胡哨

    自重温了下注册表知道了autorun子项后 我把cmd重新设计了一遍 先上图 win10系统 cmd版本为10 0 17763 1 原理 添加注册表命令行的自启动项 使启动cmd时会自动运行项的命令值 打开注册表 win R 输入reged
  • Pandas入门第二章之数据的读取

    本节主要介绍pandas经常读取的两种数据格式 xff0c 其分别是CSV和JSON本节使用两个数据集分别是2019腾讯算法大赛和中国AI创新创业大赛的数据集 没有标签的原始数据的格式 带标题的数据格式 本节在介绍pandas读取CSV文件
  • 使用Javascript 创建枚举类型(enum)

    使用Javascript 创建枚举类型 xff08 enum xff09 1 枚举类型的定义 是指将变量的值一一列出来 变量的值只限于列举出来的值的范围内 2 typescript中的枚举类型 span class token keywor
  • 一个七年Java女程序员的年终总结,写给过去一年的自己

    简单先说一下 xff0c 坐标杭州 xff0c 14届本科毕业 xff0c 算上年前在阿里巴巴B2B事业部的面试 xff0c 一共有面试了有6家公司 xff08 因为不想请假 xff0c 因此只是每个晚上去其他公司面试 xff0c 所以面试
  • HTML初识

    文章目录 思维导图HTML标签浏览器内核Web标准骨架标签VScode的使用网页开发工具解释标签图像标签注意点路径视频格式 xff08 后续会补充 xff09 链接 思维导图HTML标签 xff08 表示后面有相应解释 xff09 浏览器内
  • 建造者模式

    建造者模式 建造者模式也属于创建型模式 xff0c 它提供了一种创建对象的最佳方式 定义 将一个复杂对象的构建与它的表示分离 xff0c 使得同样的构建过程可以创建不同的表示 主要作用 在用户不知道对象的建造过程和细节的情况下就可以直接创建
  • 作为一名Web前端开发人员和设计师,2018告诉你如何正确的学习前端

    第一步 掌握HTML CSS 这是你最初必须 掌握的是网站的构建元素没得选 随着你前端的学习进程 熟练掌握HTML CSS简单易学这里还是要推荐下小编的web前端学习群 606加721加798 xff0c 不管你是小白还是大牛 xff0c
  • R语言对正交实验结果(含交互作用)进行极差分析与方差分析实例

    题目 某工厂为了提高某产品的收率 xff0c 根据经验和分析 xff0c 认为反应温度A 反应时间B 碱用量C和催化剂种类D可能对产品的收率造成较大的影响 并考虑交互作用AB xff0c AC 用正交表L8 27 安排试验 xff0c 试验