方差分析2——双因素方差分析(R语言)
双因素方差分析(Double factor variance analysis) 有两种类型:一个是无交互作用的双因素方差分析,它假定因素A和因素B的效应之间是相互独立的,不存在相互关系;另一个是有交互作用的双因素方差分析,它假定因素A和因素B的结合会产生出一种新的效应。例如,若假定不同地区的消费者对某种品牌有与其他地区消费者不同的特殊偏爱,这就是两个因素结合后产生的新效应,属于有交互作用的背景;否则,就是无交互作用的背景。这里介绍无交互作用的双因素方差分析。

一、双因素方差分析
当方差分析涉及两个分类试验因素对试验指标的影响差异性时,则可称为双因素方差分析。如要检验不用地区的不同品牌商品的市场销售潜力是否相等,或要检验不同区域不同品牌连锁店的服务消费者认可度是否相等,两个例子中均涉及“区域”、“品牌”两个因素,故其属于双因素方差分析。
1.1问题描述
在双因素分析中,所考虑的因素有两个,各因素又包含若干种水平,而不同水平之间有可能存在系统性差异,只是需要通过检验才能验证这种系统差异是否确实存在。在检验过程中,需要分析两种因素下的不同水平间的差异是否显著存在。
例1 设有 n 个工人使用 m 台机器生产同一种产品,记录每个工人使用每台机器的日产量。那么不同工人之间的生产能力是否有差异,不同机器之间的生产性能是否有差异,需要进行检验,这里所要分析的因素既包括“工人”,也包括“机器”。
例2 灯泡厂在 3 个不同技术员操作下,用 4 种不同配料方案制成的灯丝生产了 4 批灯泡,那么不同技术员之间的技术是否有差异,不同配料方案之间的性能是否有差异,需要进行检验,这里所要分析的因素既包括“技术员”,也包括“配料方案”。
为分析需要,在双因素方差分析中,用A表示因素1,用B表示因素2,A因素的k个水平(总体)分别用A1,A2,…,Ak表示,B 因素的 r 个水平(总体)分别用B1,B2,…,Br表示,每个观测值用 xij(i =1,2,…,k; j =1,2,…,r )表示,即 xij表示 A 因素第 i 个水平(总体)和 B 因素第j个水平所组合成的k×r个总体中抽取的样本量为1的样本观测值。

1.2 分析步骤
第一步,提出假设
对A因素提出的假设为
H0:μ1=μ2=…=μk(假设A因素各水平间没有显著差异,也即A因素对试验指标无显著影响)
H1:μi不全相等(i=1,2,…,k)(假设A因素各水平间有显著差异,也即A因素对试验指标有显著影响)
对B因素提出的假设为
H0:μ1=μ2=…=μr(假设B因素各水平间没有显著差异,也即B因素对试验指标无显著影响)
H1:μi不全相等(i=1,2,…,r)(假设B因素各水平间有显著差异,也即B因素对试验指标有显著影响)
第二步,构造方差分析表
双因素的方差分析表如下表所示:


二、双因素方差分析示例
2.1 问题描述
假设A因子有5个水平,B因子有4个水平,两因子间不存在交互作用。观测值无重复,试进行双因素方差分析。

2.2 数据读取并进行预处理
将上述问题中数据整理成数据文件data.csv(参看上图),完了利用R语言整理为tidy-date数据。!!!
dd=read.csv("data.csv",header = T,row.names = NULL)
head(dd)
X A1 A2 A3 A4 A5
1 B1 365 350 343 340 323
2 B2 345 368 363 330 333
3 B3 358 323 353 343 308
4 B4 288 280 298 260 299
library(tidyr)
names(dd) #查看列名
colnames(dd)[1] <- 'B' #修改第一列行名为B
data1<- gather(dd,A,Y,-B)
B A Y
1 B1 A1 365
2 B2 A1 345
3 B3 A1 358
4 B4 A1 288
5 B1 A2 350
6 B2 A2 368
#将字符型变量转化为因子型
data1$A<- factor(data1$A,levels = c("A1","A2","A3","A4","A5"),
labels = c(1:5) )
data1$B<- factor(data1$B,levels =c("B1","B2","B3","B4"),
labels = c(1:4))
B A Y
1 1 1 365
2 2 1 345
3 3 1 358
4 4 1 288
5 1 2 350
6 2 2 368
2.3 对数据进行正态性、方差齐次检验
shapiro.test(data1$Y) #正态性检验
bartlett.test(data1$Y ~ data1$A, data=data1) #方差齐次检验
bartlett.test(data1$Y ~ data1$B, data=data1)
#shapiro.test(data1$Y)
Shapiro-Wilk normality test
data: data1$Y
W = 0.9358, p-value = 0.1996
#bartlett.test(data1$Y ~ data1$A, data=data1)
Bartlett test of homogeneity of variances
data: data1$Y by data1$A
Bartlett's K-squared = 2.44, df = 4, p-value = 0.6554
#bartlett.test(data1$Y ~ data1$B, data=data1)
Bartlett test of homogeneity of variances
data: data1$Y by data1$B
Bartlett's K-squared = 0.45668, df = 3, p-value = 0.9283
由P值,数据满足正态性假设,因素A、B均满足方差齐性要求。
2.4 R语言计算
# 进行双因素方差分析
aov_data1<-aov(Y~A+B, data=data1)
# 查看结果
aov_data1
summary(aov_data1)
aov(formula = Y ~ A + B, data = data1)
Terms:
A B Residuals
Sum of Squares 1986.0 12917.4 2925.6
Deg. of Freedom 4 3 12
Residual standard error: 15.6141
Estimated effects may be unbalanced
summary(aov_data1)
Df Sum Sq Mean Sq F value Pr(>F)
A 4 1986 497 2.037 0.153021
B 3 12917 4306 17.661 0.000107 ***
Residuals 12 2926 244
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
结果中B这行P值<0.0001,同时自动标注了显著程度,可见B因子之间在0.01%水平上差异显著,A这行P值>0.05,没有任何标注,说明A因子之间差异不显著。*
总结
在实际问题的研究中,有时需要考虑两个因素对实验结果的影响。例如饮料销售,除了关心饮料品牌之外,我们还想了解销售地区是否影响销售量,如果在不同的地区,销售量存在显著的差异,就需要分析原因。采用不同的销售策略, 使该饮料品牌在市场占有率高的地区继续深入人心,保持领先地位;在市场占有率低的地区,进一步扩大宣传,让更多的消费者了解、接受该产品。若 把饮料的品牌看作影响销售量的因素A,饮料的销售地区则是影响因素B。对因素A和因素B同时进行分析,就属于双因素方差分析的内容, 双因素方差分析是对影响因素进行检验,究竟是一个因素在起作用,还是两个因素都起作用,或是两个因素的影响都不显著。

参考文献
R语言对完全随机分组实验、拉丁方实验及正交实验进行方差分析
语言数据分析笔记——方差分析
方差分析2——双因素方差分析(R语言)的更多相关文章
- R语言实战(五)方差分析与功效分析
本文对应<R语言实战>第9章:方差分析:第10章:功效分析 ================================================================ ...
- 【数据分析 R语言实战】学习笔记 第八章 方差分析与R实现
方差分析泛应用于商业.经济.医学.农业等诸多领域的数量分析研究中.例如商业广告宣传方面,广告效果可能会受广告式.地区规模.播放时段.播放频率等多个因素的影响,通过方差分析研究众多因素中,哪些是主要的以 ...
- 统计学——Excel实现单(双)因素方差分析
笔记链接:http://www.cnblogs.com/igoslly/p/6784206.html 加载Excel“数据分析”工具包 [文件]→[选项]→[加载项]→[Excel加载项]→[转到] ...
- R语言-方差分析
方差分析指的是不同变量之间互相影响从而导致结果的变化 1.单因素方差分析: 案例:50名患者接受降低胆固醇治疗的药物,其中三种治疗条件使用药物相同(20mg一天一次,10mg一天两次,5mg一天四次) ...
- R 语言实战-Part 3 笔记
R 语言实战(第二版) part 3 中级方法 -------------第8章 回归------------------ #概念:用一个或多个自变量(预测变量)来预测因变量(响应变量)的方法 #最常 ...
- 实验的方差分析(R语言)
实验设计与数据处理(大数据分析B中也用到F分布,故总结一下,加深印象)第3课小结--实验的方差分析(one-way analysis of variance) 概述 实验结果\(S\)受多个因素\(A ...
- 双因子方差分析|adjusted R|强度|SSA|SSE|SST|
应用统计学 方差分析的基本假设: 组间组平均与总平均的不同是由treatment引发的.单个值与组平均的不同是由组内error引发的. 如果没有处理误差SSA=SSE,所以右尾假设如果F>1则处 ...
- R语言︱XGBoost极端梯度上升以及forecastxgb(预测)+xgboost(回归)双案例解读
XGBoost不仅仅可以用来做分类还可以做时间序列方面的预测,而且已经有人做的很好,可以见最后的案例. 应用一:XGBoost用来做预测 ------------------------------- ...
- q检验|新复极差法|LSD|二因素方差分析
生物统计与实验设计 放大程度q检验:精度较高>新复极差法:各种错误比较平均>LSD 其中,LSD不随M的变化而变化,但是SSR和q-test会随M变化而变化. 第一步代表了方差分析的核心思 ...
- R语言函数总结(转)
R语言特征 对大小写敏感 通常,数字,字母,. 和 _都是允许的(在一些国家还包括重音字母).不过,一个命名必须以 . 或者字母开头,并且如果以 . 开头,第二个字符不允许是数字. 基本命令要么是表达 ...
随机推荐
- sourceCRT 开发vbs测试
$language = "VBScript" $interface = "1.0" ' This automatically generated script ...
- cuda安装的问题
小学期老师给的文档,里面要加入这几个环境变量 他这排版有问题,我就去网上找了几个cuda环境变量的配置 保姆级的CUDA的下载安装使用,详细的环境变量配置,不仅仅让你能够安装,还会教你弄懂为什么要这样 ...
- P1413 坚果保龄球
P1413 坚果保龄球 - 洛谷 | 计算机科学教育新生态 (luogu.com.cn) 大家可以发现这里的坚果其实是火爆辣椒2333,那么我们要尽量多消灭僵尸,就需要在僵尸位于1列时在放置(ans+ ...
- RabbitMq安装配置启动
RabbitMq安装配置启动 一:安装材料 请前往官方地址下载 Erlang: https://www.erlang.org/downloads rabbitmq: https://www.rabbi ...
- 关于lesscss和颜色梯度(linear-gradient )的一些问题
一.什么是less? 一种 动态 样式 语言. LESS 将 CSS 赋予了动态语言的特性,如 变量, 继承,运算, 函数. LESS 既可以在 客户端 上运行 (支持IE 6+, Webkit, F ...
- MP逻辑删除
在实体类中加上@TableLogic注解 在配置类中加入逻辑删除插件
- LeetCode刷题4:寻找两个正序数组的中位数
题目: 给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2.请你找出并返回这两个正序数组的 中位数 . 算法的时间复杂度应该为 O(log (m+n)) . 来源:力扣 ...
- MySQL数据库sql_mode导致varchar字段超过长度被截断插入
django数据库设置sql_mode MySQL的sql_mode解析与设置 mysql中sql_mode的修改 sql_mode:它定义了MySQL应该支持的sql语法,对数据的校验等等. 问题 ...
- Cloneable的使用
Cloneable的使用 在开发过程中,拷贝实例是常见的一种操作,如果一个类中的字段较多,而我们又采用在客户端中逐字段复制的方 法进行拷贝操作的话,将不可避免的造成客户端代码繁杂冗长,而且也无法对类中 ...
- Win10 下Cisco AnyConnect Secure Mobility Client问题(转)
原文地址:http://blog.sina.com.cn/s/blog_66b9ff210102vup0.html 从WIN8升级到WIN10 ,Cisco AnyConnect ...