How to make Anova table for data from a factorial experiment
5 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Scott MacKenzie
le 28 Avr 2021
Commenté : Scott MacKenzie
le 5 Mai 2021
I'd like to know how MATLAB can be used to create an Anova table like this
% ANOVA_table_for_Entry Speed (wpm)
% =================================================================================
% Effect df SS MS F p
% ---------------------------------------------------------------------------------
% Participant 15 1424.418 94.961
% Layout 1 103.298 103.298 12.038 0.0034
% Layout_x_Par 15 128.717 8.581
% Trial 4 87.443 21.861 6.108 0.0003
% Trial_x_Par 60 214.745 3.579
% Layout_x_Trial 4 17.638 4.409 1.003 0.4130
% Layout_x_Trial_x_Par 60 263.701 4.395
% =================================================================================
from a data set like this:
11.44 14.93 12.00 12.54 16.85 8.21 11.21 9.67 8.55 9.87
15.76 13.86 14.27 14.72 13.90 7.08 9.97 12.29 11.34 14.21
...
10.15 9.51 12.28 15.27 12.98 9.42 8.70 10.18 13.94 11.10
The data form a 16 x 10 table. The full data set is in the attached file.
About the data: The data are from a 2 x 5 within-subjects factorial experiment with 16 participants. Each value is the measured entry speed (in words per minute) for a particular participant and test condition. There are 16 rows of data, one for each participant. There are 10 columns of data, one for each test conditions, as now described. The were two independent variables: Layout with 2 levels (Opti and Metropolis) and Trial with 5 levels (T1, T2, T3, T4, T5). The trial data are nested within the layout data. In other words, the layout data are in columns 1-5 (Opti) and 6-10 (Metropolis), and within each set are the data for the five trials.
About the Anova table: The Anova table was generated from this data set, but not using MATLAB.
I'm using MATLAB more and more these days for many analyses and I'm wondering if I can extend my use of MATLAB into the realm of hypothesis testing. Hence this question. Thanks in advance for your help.
0 commentaires
Réponse acceptée
Jeff Miller
le 28 Avr 2021
x = readtable('mack_data.txt');
x.Properties.VariableNames = {'o1','o2','o3','o4','o5','m1','m2','m3','m4','m5'};
withinDesign = table([1 1 1 1 1 2 2 2 2 2]',[1:5 1:5]','VariableNames',{'Layout','Trial'});
withinDesign.Layout = categorical(withinDesign.Layout);
withinDesign.Trial = categorical(withinDesign.Trial);
rm = fitrm(x,'o1-m5~1','WithinDesign',withinDesign);
ranova(rm,'WithinModel','Layout*Trial')
10 commentaires
Christophe Lambourg
le 5 Mai 2021
Thanks Scott. By default, the WithinDesign property of the RepeatedMeasuresModel object is a table with a single variable named 'Time', taking integer values from 1 to the number of repeated measures. So :
rm=fitrm(T,'Var~Handeness');
is equivalent to :
rm = fitrm(T,'Var~Handeness','WithinDesign',table([1],'VariableNames',{'Time'}));
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Repeated Measures and MANOVA dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!
