0

我有一个包含性别的单元格数组,例如

GENDER = {'Male';'Female';'Male';'Male';'Male';'Female';'Female';'Female';'Male';'Male'};

和另一个包含相应组的数组,例如

GROUPS = [1; 2; 1; 1; 3; 3; 1; 2; 2; 3];

我想知道在男性人数和女性人数上各组之间是否存在显着差异。我想使用帮助中提供的示例中的函数 anova1 + multcompare。

我该如何处理这种情况?

anova1(GENDER,GROUPS,'off')
Operands to the || and && operators must be convertible to logical scalar values.

Error in anova1 (line 46)
if (nargin>0 && strcmp(x,'kruskalwallis'))

非常感谢

4

1 回答 1

0

问题是您还没有定义方差分析应该操作的数字量。根据您的描述,对于该数量应该是多少,有不同的可能解释。一种可能性:男性绝对数量与女性绝对数量之间的差异。为此,您可以用 +1 编码“男性”观察,用 -1 编码“女性”观察:

GENDER = [ 1;  -1;   1;   1;   1;  -1;  -1;  -1;   1;   1];

GROUPS 变量可以保持您指定的状态,但由于条目实际上不被视为数值,而是作为组标签,所以最好这样写:

GROUPS = {'1'; '2'; '1'; '1'; '3'; '3'; '1'; '2'; '2'; '3'};

然后你的电话anova1工作

anova1(GENDER, GROUPS, 'off')

并返回 0.609 的 p 值,即显然不显着。

您不需要multcompare,因为您仅在单向方差分析中检查主效应,从而产生单个 p 值。

另一个问题是,如函数帮助中所述,ANOVA 假设数据呈正态分布。上面定义的 GENDER 变量显然不是正态分布的,而是伯努利分布的。我知道在某些领域使用 ANOVA 分析这些类型的数据是常见的做法,但它在统计上并不正确。

于 2013-10-13T20:27:58.663 回答