1. 方差分析基础与实验设计
单因素方差分析(One-way ANOVA)是研究分类自变量对连续因变量影响程度的经典统计方法。当我们需要比较三个或更多组别间的均值差异时,t检验已不再适用,此时方差分析展现出独特优势。其核心思想是通过分解总变异为组间变异和组内变异,判断组间差异是否显著大于组内差异。
假设我们有一组植物生长数据,比较三种不同肥料(A/B/C)对植株高度的影响。实验设计需满足三个前提条件:
- 独立性:不同组别的观测值相互独立
- 正态性:各组数据近似服从正态分布
- 方差齐性:各组方差基本相等
实际操作中可通过Shapiro-Wilk检验正态性,用Bartlett检验方差齐性。当样本量较大时(每组>30),正态性要求可适当放宽。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. R语言实现单因素方差分析
2.1 数据准备与可视化
首先模拟一组实验数据:
r复制set.seed(123)
height <- c(rnorm(30, mean=15, sd=2), # 肥料A
rnorm(30, mean=18, sd=2.5), # 肥料B
rnorm(30, mean=20, sd=3)) # 肥料C
fertilizer <- rep(c("A","B","C"), each=30)
plant_data <- data.frame(height, fertilizer)
使用ggplot2进行初步可视化:
r复制library(ggplot2)
ggplot(plant_data, aes(x=fertilizer, y=height, fill=fertilizer)) +
geom_boxplot() +
labs(title="不同肥料处理的植株高度比较")
2.2 方差分析执行与解读
执行单因素方差分析:
r复制model <- aov(height ~ fertilizer, data=plant_data)
summary(model)
典型输出示例:
code复制 Df Sum Sq Mean Sq F value Pr(>F)
fertilizer 2 450.2 225.10 3
