如何在 R 中对样本量不等的一元方差进行分析?


若要对不同样本大小的单因素方差进行分析,我们可以使用 aov 函数。假设我们有一个分类的列,定义为 Group,其中有四类,以及一个连续变量 Response,两者都存储在名为 df 的数据帧中,则一元方差可以这么进行:-

aov(Response~Group,data=df)

示例

考虑下面的数据框架 −

 实时演示

Group<-sample(LETTERS[1:4],20,replace=TRUE)
Response<-rpois(20,2)
df1<-data.frame(Group,Response)
df1

输出

 Group Response
1  B    1
2  B    2
3  A    1
4  D    2
5  B    1
6  B    0
7  A    2
8  B    3
9  B    2
10 A    2
11 A    3
12 C    2
13 B    0
14 C    1
15 C    3
16 C    2
17 C    1
18 D    4
19 A    1
20 A    4

示例

str(df1)

输出

'data.frame': 20 obs. of 2 variables:
$ Group : chr "B" "B" "A" "D" ...
$ Response: int 1 2 1 2 1 0 2 3 2 2 ...

对 df1 中的数据执行一元方差 −

示例

ANOVA_model_1<-aov(Response~Group,data=df1)
summary(ANOVA_model_1)

输出

Df Sum Sq Mean Sq F value Pr(>F)
Group 3 5.488 1.829 1.536 0.244
Residuals 16 19.062 1.191

示例

 实时演示

Class<-sample(c("I","II","III"),20,replace=TRUE)
Score<-sample(1:100,20)
df2<-data.frame(Class,Score)
df2

输出

 Class Score
1  I    35
2 II    74
3 II    24
4 III   27
5  I    63
6 II    92
7 II    50
8 III   30
9  I    1
10 I    23
11 II   84
12 I    48
13 I    36
14 I    58
15 II   16
16 II   18
17 I    28
18 III  70
19 II   47
20 I    75

对 df2 中的数据执行一元方差 −

示例

ANOVA_model_2<-aov(Score~Class,data=df2)
summary(ANOVA_model_2)

输出

Df Sum Sq Mean Sq F value Pr(>F)
Class 2 435 217.4 0.317 0.732
Residuals 17 11642 684.8

示例

 实时演示

Categories<-sample(c("C1","C2","C3"),20,replace=TRUE)
NetScore<-sample(1:10,20,replace=TRUE)
df3<-data.frame(Categories,NetScore)
df3

输出

   Categories NetScore
1    C1       7
2    C2       5
3    C2       4
4    C2      10
5    C2       9
6    C1       1
7    C3       1
8    C2       4
9    C1       2
10   C2       3
11   C3       5
12   C3       6
13   C1       9
14   C1       4
15   C2       2
16   C3       6
17   C1       6
18   C2       3
19   C1       5
20   C2       6

示例

ANOVA_model_3<-aov(NetScore~Categories,data=df3)
summary(ANOVA_model_3)

输出

Df Sum Sq Mean Sq F value Pr(>F)
Categories 2 1.05 0.527 0.072 0.931
Residuals 17 124.75 7.338

更新时间: 07-Dec-2020

978 次浏览

开启你的 职业

完成课程获得认证

开始
广告