matlab中重复测量ANOVA的多重比较

时间:2016-09-02 16:31:17

标签: matlab anova posthoc

我想找出不同条件之间可能存在的差异。我有n个科目,我分别对每个科目的每个条件都有一个平均值。受试者之间的价值差异很大,这就是为什么我想要执行重复测量anova来控制它的原因。

我的主题因素将是当时的条件,我没有任何主题因素。

So far I have the following code:
%% create simulated numbers
meanPerf = randn(20,3);

%% create a table array with the mean performance for every condition

tableData = table(meanPerf(:,1),meanPerf(:,2),meanPerf(:,3),'VariableNames',{'meanPerf1','meanPerf2','meanPerf3'})

tableInfo = table([1,2,3]','VariableNames',{'Conditions'})

%% fit repeated measures model to the table data
repMeasModel = fitrm(tableData,'meanPerf1meanPerf3~1','WithinDesign',tableInfo);

%% perform repeated measures anova to check for differences
ranovaTable = ranova(repMeasModel)

我的第一个问题是:我这样做了吗?

第二个问题是:我如何进行事后分析以找出哪些情况彼此显着不同?

我尝试使用:

multcompare(ranovaTable,'Conditions');

但是产生了以下错误:

Error using internal.stats.parseArgs (line 42)
Wrong number of arguments.

我正在使用Matlab 2015b。

如果你可以帮助我,那会很棒。我想我对此已经失去了理智。

最佳, 菲尔

1 个答案:

答案 0 :(得分:0)

我使用Matlab R2016a尝试了同样的事情,我收到以下多比较错误消息:" STATS必须是ANOVA1,ANOVA2,ANOVAN,AOCTOOL,KRUSKALWALLIS或FRIEDMAN的统计输出结构。&#34 ;

但是,这个讨论对我有帮助: https://www.mathworks.com/matlabcentral/answers/140799-3-way-repeated-measures-anova-pairwise-comparisons-using-multcompare

您可以尝试以下方法: multcompare(repMeasModel,'因子1''通过','因子2)

我相信您也需要在模型的内部结构中创建因子。