matlab 重复测量方差分析容易疏忽的一个错误

Cover Image

在用matlab做重复测量方差分析(Repeated Measures ANOVA)时,输出结果里自由度(df)始终为1,非常不正常。而仔细检查代码,甚至按照matlab文档一步步复制粘贴,问题始终存在。

fig.1_error

排除了代码错误,只可能是数据结构上的问题。matlab文档直接读取样例数据,而我读入原始数据后再进行一番处理。可是我又把样例数据粘贴到自己的数据中,依然没能解决。再次观察,发现我的因子数据和样例数据的格式存在差异。这恐怕就是问题所在。

我一开始以为需要将double转换为string。后来Google了一番,才发现变量因子必须以"类别变量"(categorical)的形式存在。修改之后就不再出错了。

fig.2_answer

参考 MATLAB Answer: 3-way Repeated Measures ANOVA pairwise comparisons using multcompare