单因素方差分析anova1
函数格式:[p,anovatab,stats] =
anova1(x,group,displayopt,extra)
anova1(单因素方差分析)返回的p值是基于【H0:各组间的均值相等】的前提下得出的.
结果返回两张图,方差分析表和每一列的盒子图.
当拒绝H0后就要用多重比较来看到底哪里差异显著,用到的是multcompare(stats) ,此时返回的就是多重比较的结果.
多重比较的结果是一个矩阵,前两列表示的是不同组之间的比较,第三列是平均数之间的差异.
用法:
1. p =
anova1(X)
其中X是一个矩阵,每一列被看做是独立的,检验的就是每一列的均值是否相等;这种用法适用于每一列的数目是相同的情况.
eg.
yellow = [300 287 301 400 211
399 412 312 390 412];
red = [240
259 302 311 210 402 390 298 347 380];
black = [
210 230 213 210 220 208 290 300 201 201];
names =
[yellow’ red’ black’
];
[p table
stats]=anova1(names);
2. p =
anova1(V,GROUP)
其中GROUP必须是一个类别变量,数值向量,逻辑向量,字符串或者是胞体(里面的类型是字符串,代表着每一列的成分),V代表的是每一列的成分.在每列的数据数目不相同时,这种用法是唯一适用的格式.
当V是代表所有数值的一个向量时,则GROUP就是和V长度相同的一个向量,而每一个成分代表的就是相对应位置上V中数值的类别。
eg.
1 yellow = [300 287 301 400
211 399 412 312 390 412];
red = [240 259 302 311 210 402 390 298 347
380];
black = [ 210 230 213 210 220 208 290 300 201
201];
names = [{‘yellow’}; {‘red’};
{‘black’}];
[p table stats]=anova1([yellow' red' black'],
names);
2 X =
[yellow red black]’;(所有值在一个向量里)
n_yellow=repmat({'yellow'},10,1);
n_red=repmat({'red'},10,1);
n_black=repmat({'black'},10,1);
group= [n_yellow' n_red'
n_black’]’;(group里则是相对于的X中值的类型)
[p table stats]=anova1(X,group);
3. p =
anova1(X,GROUP,DISPLAYOPT)
其中DISPLAYOPT是用来控制图表的展现的,可以设置成off,也可设成on.
4.
[P,ANOVATAB] = ANOVA1(...)
返回方差分析表
双因素方差分析anova2
函数格式:[p,Table,stats] =
anova2(X,reps,displayopt)
第一个输入量是一个矩阵,其中的每一列代表的是第一个因素所产生的影响,每一行则代表第二个因素所造成的变异.
reps是重复测量的次数.
eg.
研究字体颜色和大小对识别反应时的影响. 颜色有三个水平,黄红黑,大小有两个水平,大和小如下图:
yellow
red
black
small
123
121
178
144
big
其中第一行是颜色这个自变量的三个水平,第一列是大小这个自变量的两个水平,两个自变量所形成的区域成为cell(123,121,178,144),每个cell中的数值数等于reps,即观察到的数。如REPS=3,即每个cell中包含3行,总行数一定是3的倍数,如果X有12行,且reps=3,那么第一列的自变量有4个水平,每个水平上收到了3个数据,4*3=12.
第一个水平是第1-3行,第二个水平是4-6行。所以REPS指的就是每一个cell中所观察到的数据的数目.