我有4个大小为(72,22,22)的班级,我想为这些班级中的(22,22)每一对做ANOVA1。例如,我想获取每个类中的(2,3)对,并对4个数组中的每个对进行方差分析,因此输出将是一个由(22,22)组成的数组,表示4个类中每对的P值。我的代码解释了我想要说的:)我已经尝试了这段代码,但我不确定,因为结果有点奇怪;我想问题出在2for循环中。下面的代码是我的代码:
x = load("plv_8_12.mat");
x = x.plv;
size(x)
ans =
2592 22 22
S1C1 =x(1:72,:,:);
S1C2 = x(649:720,:,:);
S1C3 = x(1297:1368,:,:);
S1C4 = x(1945:2016,:,:);
p_all = [];
for x =1:22
for y=1:22
tc1 = S1C1(:,x,y);
tc2 = S1C2(:,x,y);
tc3 = S1C3(:,x,y);
tc4 = S1C4(:,x,y);
temp = [tc1 tc2 tc3 tc4];
%p_all(x,y) = anova1(temp);
[p,tbl,stats]=anova1(temp);
close all
end
end
1条答案
按热度按时间taor4pac1#
由于观测是以数组的形式组织起来的,人们强烈怀疑它们与每个“类”中的每个元素(z、x、y)有关,即成对的。如果是这种情况,则常规的ANOVA是无效的检验,可能需要重复测量的ANOVA(在下面的代码中要慢得多)。对于常规的方差分析,所有的观察都需要独立于另一组。我没有任何MAT文件,所以我无法验证代码的第一部分。如果不起作用,请让我知道。