首页 > 编程 > R > 正文

方差分析中的交互效应图

2023-04-28 12:24:11
字体:
来源:转载
供稿:网友

在进行双因素方差分析中,我们在考虑两个因素之间是否存在着交互作用时,我们还可以借助交互效应图来直观的进行判断。

在图中,将某一因素(假设A)作为横轴,用另一因素(假设为B)各水平在目标问题(因变量)上的均值作为纵轴取值,并用线段依此将各点连接起来。

R语言中绘制交互效应图的函数

在R语言中可以使用interaction.plot()函数来绘制交互作用图,该函数的原型如下:

interaction.plot(x.factor, trace.factor, response, fun = mean,
type = c("l", "p", "b", "o", "c"), legend = TRUE,
trace.label = deparse(substitute(trace.factor)), fixed = FALSE,
xlab = deparse(substitute(x.factor)), ylab = ylabel,
ylim = range(cells, na.rm = TRUE),
lty = nc:1, col = 1, pch = c(1:9, 0, letters),
xpd = NULL, leg.bg = par("bg"), leg.bty = "n",
xtick = FALSE, xaxt = par("xaxt"), axes = TRUE, ...)

主要的参数含义如下:

x.factor : 作为x轴的因素;

trace.factor:另外一个因素,其在response(因变量)上的取值用于绘制直线;

response:一个数值变量(因变量的取值)

fun:计算因变量取值的函数,默认为均值。

legend:逻辑值,用于指示是否显示图例说明。

trace.label:图例说明标签,默认从trace.factor中提取各水平的名称。

fixed:逻辑值,用于指示标签的顺序,默认为FALSE。取值TRUE时则按照trace.factor中的水平顺序来显示,否则按照绘图中右端的上下顺序给出。

其它参数与其它绘图函数的含义相同,在此不再赘述,感兴趣的读者可以到本站前面有关绘图函数的介绍中去查阅。

R语言中绘制交互效应图的例子

例1:这里仍然使用本站在《使用R语言进行有交互作用的双因素方差分析》中使用的例1中的例子:电池的板极材料与使用的环境温度对电池的输出电压均有影响。例子具体内容可以点击上面的连接进入查看。

右击将数据另存为下载:电池板极材料及使用环境温度对电池输出电压的影响数据

完整程序参考如下:

#####有交互作用的方差分析交互图#####
#使用scan函数从文本文件中读取数据
V<-scan("vmt.txt")

#定义材料因子
M<-gl(3,12,labels=c("M1","M2","M3"))

#定义温度因子
T<-gl(3,4,36,labels=c("T1","T2","T3"))

#绘制交互效应图
interaction.plot(M,T,V,lwd=2,col=c(2,3,4))

绘制的交互效应图如下图所示:

 R语言绘制交互效应图

从这个图中,我们可以看出:

(1)对于同一材料,如M2,温度不同时(不同的颜色代表不同的温度),其电压均值不同,可以初步认为温度对输出电压有影响;

(2)对于同一温度(图中指同一颜色的折线),材料不同时,其电压均值不同,可以初步认为材料对输出电压有影响;

(3)各折线是交叉的,说明温度和材料对输出电压有交互影响。

借助上一篇文章中方差分析表中的p值,可以得到印证。

如果将温度作为横坐标,可以得到下图的形式:

使用R语言绘制双因素方差分析中交互作用图

例2:将锑加到锡-铅焊料中替代较昂贵的锡,从而降低焊接成本。下表中给出了锑的4种添加比例及4种冷却方法对抗剪强度影响的试验结果,每种组合进行了3次试验。对数据进行方差分析。(1)每种添加比例之间是否存在显著差异?(2)每种冷却方法之间是否存在显著差异?(3)添加比例与冷却方法是否存在交互效应?画出两因素的交互效应图。

数据保存在名为 ti-cold_strength的文本文件中,每个数据以空格作为分隔,读者可以右击下面的连接,将其另存到本地:

右击选择另存为,将文件保存到你的机器中

 

锑的添加比例 冷却方法
水冷 油冷 气吹 炉内冷却
0%

17.6
19.5
18.3

20.0
24.3
21.9
18.3
19.8
22.9
19.4
19.8
20.3
3% 18.6
19.5
19.0
20.0
20.9
20.4
21.7
22.9
22.1
19.0
20.9
19.9
5% 22.3
19.5
20.5
20.9
22.9
20.6
22.9
19.7
21.6
19.6
16.4
20.5
10% 15.2
17.1
16.6
16.4
19.0
18.1
15.8
17.3
17.1
16.4
17.6
17.6

编写R程序如下:

###锑添加量及冷却方式对焊接抗剪强度的影响分析###

#定义数据
strength <- scan("ti-cold_strength.txt")

#定义锑的添加比例因子
Ti <- gl(4,12,labels=c("0%","3%","5%","10%"))

#定义冷却方式因子
Cold <- gl(4,3,48,labels=c("水冷","油冷","气吹","炉内冷却"))

#进行方差分析
aov.rel<-aov(strength~Ti + Cold+Ti*Cold)

#提取方差分析表
summary(aov.rel)

#绘制交互作用图
interaction.plot(Ti,Cold,strength,lwd=2,col=2:5)

方差分析表如下图所示:

R语言生成的方差分析表

从这个分析表中,可以回答题目中的三个问题:

(1)由于Ti变量的P值<0.05,则拒绝零假设,认为Ti的添加比例对抗剪强度有显著影响;

(2)由于Cold的P值<0.05,则拒绝零假设,认为不同的冷却方式对抗剪强度有显著影响;

(3)两者交互作用的检验p值>0.05,不能拒绝零假设,则认为两者的交互作用对抗剪强度的影响不够显著。

绘制的交互作用图如下:

R语言绘制交互作用效应图

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表