How do I perform unbalanced ANOVA ?

Hi! I have 3 vectors of data (each vector has a different number of data) and I'd like to perform ANOVA. How do I do it?

Antworten (3)

Hanling Su
Hanling Su am 10 Feb. 2020

1 Stimme

Hey you can use anova1 but assign specific group variable, for example, you can create two vector, the first one is the observations of your sample, group by group data = [x11, x12, ... x120, x21, x22, ... x227, x31, x32, .. , x317]. And you create a correspongding group vector, for this example group = [1,1,1...,1, 2, 2, ... , 3, 3, ...], as long as the observations have the same index as its group, you can use anova1(data, group), it will automatically group the data for you.
the cyclist
the cyclist am 23 Okt. 2014

0 Stimmen

If you have the Statistics Toolbox, you can use the anovan function to do unbalanced ANOVA.
Samar Ragab
Samar Ragab am 22 Sep. 2019

0 Stimmen

try this ,
g1=ones(1,size(classA3,1));
g2=2*ones(1,size(classB3,1));
g3=3*ones(1,size(classC3,1));
p1=zeros(1,26);
for i=1:26 %%%crossponding to features numbers(columns)
x=[classA3(:,i);classB3(:,i);classC3(:,i)]' ;
g=[g1,g2,g3];
p1(i)=anova1(x,g,'off');
end

Gefragt:

am 22 Okt. 2014

Beantwortet:

am 10 Feb. 2020

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by