如何在 r 中创建交互图


双向方差分析用于确定按两个因素划分的三个或更多独立组的平均值之间是否存在差异。

当我们想知道两个特定因素是否影响某个响应变量时,我们使用双向方差分析。

然而,有时两个因素之间存在交互作用,这会影响我们如何解释因素与响应变量之间的关系。

例如,我们可能想知道因素 (1)锻炼和 (2)性别是否影响响应变量体重减轻。虽然这两个因素都可能影响减肥,但它们也可能相互作用。

例如,锻炼可能会导致男性和女性体重减轻的速度不同。在这种情况下,运动和性别之间存在交互作用。

检测和理解两个因素之间的交互作用的最简单方法是使用交互图

这种图类型在 y 轴上显示响应变量的拟合值,在 x 轴上显示第一个因子的值。同时,图中的线条代表第二个感兴趣因素的值。

R 中的交互图

本教程介绍如何在 R 中创建和解释交互图。

示例:R 中的交互图

假设研究人员想要确定运动强度和性别是否会影响减肥。为了测试这一点,他们招募了 30 名男性和 30 名女性参加一项实验,随机分配其中 10 人进行一个月的不运动、轻度运动或剧烈运动计划。

使用以下步骤在 R 中创建数据框,执行双向方差分析,并创建交互图以可视化运动和性别之间的交互效果。

第 1 步:创建数据。

以下代码展示了如何在 R 中创建数据框:

 #make this example reproducible
set.seed(10)

#create data frame
data <- data.frame(gender = rep (c("Male", "Female"), each = 30 ),
                   exercise = rep (c("None", "Light", "Intense"), each = 10 , times = 2 ),
                   weight_loss = c(runif(10, -3, 3), runif(10, 0, 5), runif(10, 5, 9),
                                   runif(10, -4, 2), runif(10, 0, 3), runif(10, 3, 8)))

#view first six rows of data frame
head(data)

  gender exercise weight_loss
1 Male None 0.04486922
2 Male None -1.15938896
3 Male None -0.43855400
4 Male None 1.15861249
5 Male None -2.48918419
6 Male None -1.64738030

步骤 2:拟合双向方差分析模型。

以下代码显示了如何对数据进行双向方差分析:

 #fit the two-way ANOVA model
model <- aov(weight_loss ~ gender * exercise, data = data)

#view the model output
summary(model)

# Df Sum Sq Mean Sq F value Pr(>F)    
#gender 1 15.8 15.80 11.197 0.0015 ** 
#exercise 2 505.6 252.78 179.087 <2e-16 ***
#gender:exercise 2 13.0 6.51 4.615 0.0141 *  
#Residuals 54 76.2 1.41                   
#---
#Significant. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

请注意,运动与性别之间的交互项的 p 值 ( 0.0141 ) 具有统计显着性,表明两个因素之间存在显着的交互作用。

第 3 步:创建交互图。

以下代码展示了如何创建运动和性别的交互图:

 interaction.plot(x.factor = data$exercise, #x-axis variable
                 trace.factor = data$gender, #variable for lines
                 response = data$weight_loss, #y-axis variable
                 fun = median, #metric to plot
                 ylab = "Weight Loss",
                 xlab = "Exercise Intensity",
                 col = c("pink", "blue"),
                 lty = 1, #line type
                 lwd = 2, #linewidth
                 trace.label = "Gender")

R 中的交互图

一般来说,如果交互作用图的两条线平行,则不存在交互作用。然而,如果两条线交叉,则可能会产生相互作用效应。

从这张图中我们可以看到,男性和女性的线条交叉,表明运动强度变量和性别之间可能存在交互作用。

这对应于方差分析表结果中的 p 值对于方差分析模型中的交互作用项具有统计显着性的事实。

其他资源

如何在 R 中执行单向方差分析
如何在 R 中执行双向方差分析

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注