R语言统计5:方差分析(ANOVA,F

您所在的位置:网站首页 计算方差c语言怎么写的 R语言统计5:方差分析(ANOVA,F

R语言统计5:方差分析(ANOVA,F

2024-07-12 04:46| 来源: 网络整理| 查看: 265

方差分析(Analysis of Variance,简称ANOVA),又称“变异数分析”,是R.A.Fisher发明的,用于两个及两个以上样本均数差别的显著性检验。根据影响实验指标条件的个数可以区分为:单因素方差分析,双因素方差分析和多因素方差分析

aov()函数是为平衡设计准备的,对于非平衡设计它的结果很难解释

1. 单因素方差分析

前提条件: 1) 样本独立性 \ \ \ \ \ \ \ 2) 样本总体必须服从正态分布 \ \ \ \ \ \ \ 3) 方差齐性

原假设:H0: μ_1 = μ_2 = ... = μ_n \ \ \ \ \ \ H1: μ_1,μ_2,...,μ_n不完全相等

1.1 先进行三大检验 # 使用R自带的数据集PlantGrowth,研究两个处理和一个对照组对植物产量的影响 head(PlantGrowth) ## weight group ## 1 4.17 ctrl ## 2 5.58 ctrl ## 3 5.18 ctrl ## 4 6.11 ctrl ## 5 4.50 ctrl ## 6 4.61 ctrl # 独立性检验 mytable1 0.05,也就是都接受了原假设,满足条件

1.2 单因素方差分析 ANOVA F) ## group 2 3.766 1.8832 4.846 0.0159 * ## Residuals 27 10.492 0.3886 ## --- ## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

★ p = 0.0159 < 0.05,拒绝原假设(H0:3组样本数据均值相等,无差异),说明3组样本均值有差异,不同处理方式对植物产量有显著影响

2. 双因素方差分析

原假设: 对A因素提出的假设为 H0:μ_1 = μ_2 = … = μ_n(假设A因素各水平间没有显著差异,也即A因素对试验指标无显著影响) H1:μ_i不全相等(i = 1,2,…,n)(假设A因素各水平间有显著差异,也即A因素对试验指标有显著影响) 对B因素提出的假设为 H0:μ_1 = μ_2 = … = μ_n(假设B因素各水平间没有显著差异,也即B因素对试验指标无显著影响) H1:μ_i不全相等(i = 1,2,…,n)(假设B因素各水平间有显著差异,也即B因素对试验指标有显著影响)

2.1 初步检验 # 使用ToothGrowth数据集-随机分配60只豚鼠,分别采取两种喂食方式(supp:橙汁或维生素C)各种喂食方式中抗坏血酸的剂量有三种水平(dose:0.5mg,1mg,2mg),牙齿长度为因变量 summary(ToothGrowth) ## len supp dose ## Min. : 4.20 OJ:30 Min. :0.500 ## 1st Qu.:13.07 VC:30 1st Qu.:0.500 ## Median :19.25 Median :1.000 ## Mean :18.81 Mean :1.167 ## 3rd Qu.:25.27 3rd Qu.:2.000 ## Max. :33.90 Max. :2.000 shapiro.test(ToothGrowth$len) #正态性检验 ## ## Shapiro-Wilk normality test ## ## data: ToothGrowth$len ## W = 0.96743, p-value = 0.1091 bartlett.test(ToothGrowth$len ~ ToothGrowth$supp, data = ToothGrowth) #方差齐次检验 ## ## Bartlett test of homogeneity of variances ## ## data: ToothGrowth$len by ToothGrowth$supp ## Bartlett's K-squared = 1.4217, df = 1, p-value = 0.2331 bartlett.test(ToothGrowth$len ~ ToothGrowth$dose, data = ToothGrowth) ## ## Bartlett test of homogeneity of variances ## ## data: ToothGrowth$len by ToothGrowth$dose ## Bartlett's K-squared = 0.66547, df = 2, p-value = 0.717

★ p-value = 0.1091,数据满足正态性假设,因素A、B均满足方差齐性要求。

2.2 双因素方差分析 2.2.1 \color{green}{不含有交互项}的双因素方差分析 aov_data1 F) ## ToothGrowth$supp 1 205.4 205.4 11.45 0.0013 ** ## ToothGrowth$dose 1 2224.3 2224.3 123.99 6.31e-16 *** ## Residuals 57 1022.6 17.9 ## --- ## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

★ 种喂食方式(supp)和剂量(dose)均具有显著性

2.2.2 \color{green}{含有交互项}的双因素方差分析 fit F) ## supp 1 205.4 205.4 12.317 0.000894 *** ## dose 1 2224.3 2224.3 133.415 < 2e-16 *** ## supp:dose 1 88.9 88.9 5.333 0.024631 * ## Residuals 56 933.6 16.7 ## --- ## Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

★ 主效应和交互效应都很显著

3. 多因素方差分析

多因素方差分析是研究两个或两个以上因素对因变量的作用和影响以及这些因素共同作用的影响,而其核心内容则是检验在不同控制变量的不同交叉水平下,各交叉分组下样品数据所带来的总体均值,有无显著性差异,进而判断多个因素是否对观测变量产生了显著影响

对于平衡设计来说,多因素方差分析的结果与变量顺序无关;而对于非平衡设计来说,存在三种类型的多因素方差分析:I型、II型和III型,而aov()函数使用的是I型方差分析,它的结果与变量顺序有关。

# 使用mtcars数据集的四个变量 library(dplyr) mpg % select(mpg, cyl, gear, carb) %>% mutate(cyl = factor(cyl), gear = factor(gear), carb = factor(carb)) head(mpg) ## mpg cyl gear carb ## Mazda RX4 21.0 6 4 4 ## Mazda RX4 Wag 21.0 6 4 4 ## Datsun 710 22.8 4 4 1 ## Hornet 4 Drive 21.4 6 3 1 ## Hornet Sportabout 18.7 8 3 2 ## Valiant 18.1 6 3 1 # 统计mtcars数据集的交叉组样本数量 with(mpg, {tapply(mpg, list(cyl, gear), length)}) ## 3 4 5 ## 4 1 8 2 ## 6 2 4 1 ## 8 12 NA 2

★ mpg数据的9个交叉组的样本并不完全一致,并且有一个交叉组没有样本(NA),属于非平衡设计

3.1 最简单的三因素方差分析 aov(mpg ~ cyl + gear + carb, mpg) ## Call: ## aov(formula = mpg ~ cyl + gear + carb, data = mpg) ## ## Terms: ## cyl gear carb Residuals ## Sum of Squares 824.7846 8.2519 88.5199 204.4908 ## Deg. of Freedom 2 2 5 22 ## ## Residual standard error: 3.048776 ## Estimated effects may be unbalanced cyl的离差平方和: fit1


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3