现在位置: 首页 > R 教程 > 正文

R aov() 函数 - 方差分析

R 语言实例 R 语言实例

R aov() 函数用于执行方差分析(ANOVA),比较三组或以上数据的均值是否存在显著差异。

当有两组以上数据需要比较时,使用 ANOVA 比多次 t 检验更合适。

aov() 函数语法格式如下:

aov(formula, data)

参数说明:

  • formula 公式,格式为 响应变量 ~ 分组变量。

  • data 数据框,包含公式中的变量。

实例

# 三种肥料对农作物产量的影响
fertilizer <- factor(rep(c("A", "B", "C"), each = 5))
yield <- c(18, 20, 19, 22, 21,     # 肥料 A
           25, 27, 24, 26, 28,     # 肥料 B
           15, 17, 16, 14, 18)     # 肥料 C

# 创建数据框
df <- data.frame(fertilizer, yield)
print("数据预览:")
print(df)

# 执行方差分析
result <- aov(yield ~ fertilizer, data = df)
print(summary(result))

执行以上代码输出结果为:

[1] "数据预览:"
   fertilizer yield
1           A    18
2           A    20
3           A    19
4           A    22
5           A    21
6           B    25
...
            Df Sum Sq Mean Sq F value   Pr(>F)
fertilizer   2  190.0   95.00   28.61 2.73e-05 ***
Residuals   12   39.9    3.32
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

p 值远小于 0.001,说明三种肥料对产量的影响存在极显著差异。

R 语言实例 R 语言实例