How do I perform unbalanced ANOVA ?
Show older comments
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?
Answers (3)
Hanling Su
on 10 Feb 2020
1 vote
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
on 23 Oct 2014
0 votes
Samar Ragab
on 22 Sep 2019
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
Categories
Find more on ANOVA in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!