R aov() 函数 - 方差分析
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))
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 语言实例